<SEC-DOCUMENT>0001811884-23-000004.txt : 20230327
<SEC-HEADER>0001811884-23-000004.hdr.sgml : 20230327
<ACCEPTANCE-DATETIME>20230327162136
ACCESSION NUMBER:		0001811884-23-000004
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		123
CONFORMED PERIOD OF REPORT:	20221231
FILED AS OF DATE:		20230327
DATE AS OF CHANGE:		20230327

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			UTAH MEDICAL PRODUCTS INC
		CENTRAL INDEX KEY:			0000706698
		STANDARD INDUSTRIAL CLASSIFICATION:	SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841]
		IRS NUMBER:				870342734
		STATE OF INCORPORATION:			UT
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		7043 S 300 WEST
		CITY:			MIDVALE
		STATE:			UT
		ZIP:			84047
		BUSINESS PHONE:		8015661200
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>utmd-20221231.htm
<DESCRIPTION>UTAH MEDICAL PRODUCTS INC - FORM 10-K SEC FILING
<TEXT>
<XBRL>
<?xml version='1.0' encoding='us-ascii' standalone='no'?>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:xbrli='http://www.xbrl.org/2003/instance' xmlns:dei='http://xbrl.sec.gov/dei/2022q4' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2020-01-21' xmlns:us-gaap='http://fasb.org/us-gaap/2022' xmlns:srt='http://fasb.org/srt/2022' xmlns:country='http://xbrl.sec.gov/country/2022' xmlns:fil='http://www.utahmed.com/20221231' xmlns:i='http://www.xbrl.org/2003/instance' xmlns:xbrldi='http://xbrl.org/2006/xbrldi' xmlns:iso4217='http://www.xbrl.org/2003/iso4217' xmlns:ix='http://www.xbrl.org/2013/inlineXBRL' xmlns:ixt='http://www.xbrl.org/inlineXBRL/transformation/2015-02-26' xmlns:ixt-sec='http://www.sec.gov/inlineXBRL/transformation/2015-08-31' xmlns:utr='http://www.xbrl.org/2009/utr' xmlns:link='http://www.xbrl.org/2003/linkbase' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<head>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<title>UTAH MEDICAL PRODUCTS INC - Form 10-K SEC filing</title>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<div style='display:none'>
<ix:header>
<ix:hidden>
<ix:nonNumeric name='dei:EntityCentralIndexKey' contextRef='Y22' id='fact1'>0000706698</ix:nonNumeric>
<ix:nonNumeric name='dei:AmendmentFlag' contextRef='Y22' id='fact2'>false</ix:nonNumeric>
<ix:nonNumeric name='dei:DocumentFiscalYearFocus' contextRef='Y22' id='fact3'>2022</ix:nonNumeric>
<ix:nonNumeric name='dei:DocumentFiscalPeriodFocus' contextRef='Y22' id='fact4'>FY</ix:nonNumeric>
<ix:nonNumeric name='us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList' contextRef='E22' id='fact5'>http://fasb.org/us-gaap/2022#FiniteLivedIntangibleAssetsGross</ix:nonNumeric>
<ix:nonNumeric name='us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList' contextRef='E21' id='fact6'>http://fasb.org/us-gaap/2022#FiniteLivedIntangibleAssetsGross</ix:nonNumeric>
<ix:nonNumeric name='us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList' contextRef='E22' id='fact7'>http://fasb.org/us-gaap/2022#AccruedLiabilitiesCurrent</ix:nonNumeric>
</ix:hidden>
<ix:references>
<link:schemaRef xlink:arcrole='http://www.xbrl.org/2003/linkbase' xlink:href='utmd-20221231.xsd' xlink:type='simple'/>
</ix:references>
<ix:resources>
<i:context id='Y22'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E22'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E22Q2'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2022-06-30</i:instant>
</i:period>
</i:context>
<i:context id='I230324'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2023-03-24</i:instant>
</i:period>
</i:context>
<i:context id='D221231'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-12-31</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E21'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2021-12-31</i:instant>
</i:period>
</i:context>
<i:context id='Y21'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E20'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2020-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E19'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2019-12-31</i:instant>
</i:period>
</i:context>
<i:context id='Y22_StEqComps-CommonStock'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_StEqComps-AddPaidInCap'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_StEqComps-ComprIncome'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_StEqComps-RetainedEarnings'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E19_StEqComps-CommonStock'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2019-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E19_StEqComps-AddPaidInCap'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2019-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E19_StEqComps-ComprIncome'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2019-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E19_StEqComps-RetainedEarnings'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2019-12-31</i:instant>
</i:period>
</i:context>
<i:context id='Y20_StEqComps-CommonStock'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_StEqComps-AddPaidInCap'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_StEqComps-ComprIncome'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_StEqComps-RetainedEarnings'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E20_StEqComps-CommonStock'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2020-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E20_StEqComps-AddPaidInCap'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2020-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E20_StEqComps-ComprIncome'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2020-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E20_StEqComps-RetainedEarnings'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2020-12-31</i:instant>
</i:period>
</i:context>
<i:context id='Y21_StEqComps-CommonStock'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_StEqComps-AddPaidInCap'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_StEqComps-ComprIncome'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_StEqComps-RetainedEarnings'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E21_StEqComps-CommonStock'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</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'>0000706698</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-ComprIncome'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:ComprehensiveIncomeMember</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'>0000706698</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='E22_StEqComps-CommonStock'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</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'>0000706698</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-ComprIncome'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='us-gaap:StatementEquityComponentsAxis'>us-gaap:ComprehensiveIncomeMember</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'>0000706698</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='Y22_Range-Minimum_PpeByType-BuildingAndBuildingImprovements'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_Range-Maximum_PpeByType-BuildingAndBuildingImprovements'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_Range-Minimum_PpeByType-Equipment'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:EquipmentMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_Range-Maximum_PpeByType-Equipment'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='us-gaap:PropertyPlantAndEquipmentByTypeAxis'>us-gaap:EquipmentMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_Range-Minimum'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MinimumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_Range-Maximum'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:RangeAxis'>srt:MaximumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='fil:DistributionRightsAcquisitionAxis'>fil:CoopersurgicalIncMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2019-01-01</i:startDate>
<i:endDate>2019-03-31</i:endDate>
</i:period>
</i:context>
<i:context id='E22_DistributionRightsAcquisition-CoopersurgicalInc'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='fil:DistributionRightsAcquisitionAxis'>fil:CoopersurgicalIncMember</xbrldi:explicitMember></i:segment>
</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'>0000706698</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='Y22Q2'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-04-01</i:startDate>
<i:endDate>2022-06-30</i:endDate>
</i:period>
</i:context>
<i:context id='Y22Q3'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-07-01</i:startDate>
<i:endDate>2022-09-30</i:endDate>
</i:period>
</i:context>
<i:context id='Y22Q4'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-10-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21Q1'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-03-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21Q2'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2021-04-01</i:startDate>
<i:endDate>2021-06-30</i:endDate>
</i:period>
</i:context>
<i:context id='Y21Q3'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2021-07-01</i:startDate>
<i:endDate>2021-09-30</i:endDate>
</i:period>
</i:context>
<i:context id='Y21Q4'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2021-10-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20Q1'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-03-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20Q2'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2020-04-01</i:startDate>
<i:endDate>2020-06-30</i:endDate>
</i:period>
</i:context>
<i:context id='Y20Q3'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2020-07-01</i:startDate>
<i:endDate>2020-09-30</i:endDate>
</i:period>
</i:context>
<i:context id='Y20Q4'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2020-10-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E22_StGeo-U.S.AndCanada'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:U.S.AndCanadaMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E22_StGeo-EnglandAndAustralia'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:EnglandAndAustraliaMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E22_StGeo-IE'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>country:IE</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E21_StGeo-U.S.AndCanada'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:U.S.AndCanadaMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2021-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E21_StGeo-EnglandAndAustralia'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:EnglandAndAustraliaMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2021-12-31</i:instant>
</i:period>
</i:context>
<i:context id='E21_StGeo-IE'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>country:IE</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2021-12-31</i:instant>
</i:period>
</i:context>
<i:context id='Y22_StScenario-Range1'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementScenarioAxis'>fil:Range1Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E22_StScenario-Range1'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementScenarioAxis'>fil:Range1Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id='Y22_StScenario-Range2'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementScenarioAxis'>fil:Range2Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E22_StScenario-Range2'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementScenarioAxis'>fil:Range2Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id='Y22_StScenario-Range3'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementScenarioAxis'>fil:Range3Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='E22_StScenario-Range3'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementScenarioAxis'>fil:Range3Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id='Y22_ProductOrService-Obstetrics_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_ProductOrService-Obstetrics_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_ProductOrService-Obstetrics_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_ProductOrService-Neonatal_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_ProductOrService-Neonatal_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_ProductOrService-Neonatal_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_StGeo-Global'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_ProductOrService-Obstetrics_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_ProductOrService-Obstetrics_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_ProductOrService-Obstetrics_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_ProductOrService-Neonatal_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_ProductOrService-Neonatal_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_ProductOrService-Neonatal_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:ProductOrServiceAxis'>fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y21_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2021-01-01</i:startDate>
<i:endDate>2021-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y20_StGeo-Ous'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='srt:StatementGeographicalAxis'>fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2020-01-01</i:startDate>
<i:endDate>2020-12-31</i:endDate>
</i:period>
</i:context>
<i:context id='Y22_DistributionRightsAcquisition-CoopersurgicalInc'>
<i:entity>
<i:identifier scheme='http://www.sec.gov/CIK'>0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension='fil:DistributionRightsAcquisitionAxis'>fil:CoopersurgicalIncMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:unit id='Pure'>
<i:measure>xbrli:pure</i:measure>
</i:unit>
<i:unit id='USD'>
<i:measure>iso4217:USD</i:measure>
</i:unit>
<i:unit id='Shares'>
<i:measure>xbrli:shares</i:measure>
</i:unit>
<i:unit id='UsdPerShare'>
<i:divide>
<i:unitNumerator>
<i:measure>iso4217:USD</i:measure>
</i:unitNumerator>
<i:unitDenominator>
<i:measure>xbrli:shares</i:measure>
</i:unitDenominator>
</i:divide>
</i:unit>
</ix:resources>
</ix:header>
</div>
<div><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-2pt;text-align:center'><b>UNITED STATES </b></p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-2pt;text-align:center'><b>SECURITIES AND EXCHANGE COMMISSION</b></p>
<p style='font:10pt Times New Roman;margin:0;text-align:center'><b>Washington, D.C. &#160;20549</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'><b>FORM </b><ix:nonNumeric name='dei:DocumentType' contextRef='Y22' escape='true'>10-K</ix:nonNumeric></p>
<p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0'><span style='font-family:MS Gothic'><ix:nonNumeric name='dei:DocumentAnnualReport' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9746;</ix:nonNumeric></span> &#160;&#160;&#160;&#160;<b>ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>
</td></tr>
<tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>For the fiscal year ended <ix:nonNumeric name='dei:DocumentPeriodEndDate' contextRef='Y22' format='ixt:datemonthdayyearen'> <ix:nonNumeric name='dei:CurrentFiscalYearEndDate' contextRef='Y22' format='ixt:datemonthdayen'>December 31</ix:nonNumeric>, 2022</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>OR</p>
</td></tr>
<tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0'><span style='font-family:MS Gothic'><ix:nonNumeric name='dei:DocumentTransitionReport' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric></span> &#160;&#160;&#160;&#160;<b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>
</td></tr>
<tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>For the transition period from &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;to</p>
</td></tr>
<tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Commission File No. <span style='border-bottom:1px solid #000000'><b><ix:nonNumeric name='dei:EntityFileNumber' contextRef='Y22' escape='true'>001-12575</ix:nonNumeric></b></span></p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b><ix:nonNumeric name='dei:EntityRegistrantName' contextRef='Y22' escape='true'>UTAH MEDICAL PRODUCTS INC</ix:nonNumeric></b></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'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b><ix:nonNumeric name='dei:EntityIncorporationStateCountryCode' contextRef='Y22' format='ixt-sec:stateprovnameen'>Utah</ix:nonNumeric></b></span></p>
</td><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='dei:EntityTaxIdentificationNumber' contextRef='Y22' escape='true'>87-0342734</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(State or other jurisdiction of incorporation or organization)</p>
</td><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(I.R.S. Employer&#160;Identification No.)</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><b><ix:nonNumeric name='dei:EntityAddressAddressLine1' contextRef='Y22' escape='true'>7043 South 300 West</ix:nonNumeric></b></p>
</td></tr>
<tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b><ix:nonNumeric name='dei:EntityAddressCityOrTown' contextRef='Y22' escape='true'>Midvale</ix:nonNumeric></b>, <b><ix:nonNumeric name='dei:EntityAddressStateOrProvince' contextRef='Y22' format='ixt-sec:stateprovnameen'>Utah</ix:nonNumeric></b> &#160;<b><ix:nonNumeric name='dei:EntityAddressPostalZipCode' contextRef='Y22' escape='true'>84047</ix:nonNumeric></b></span></p>
</td></tr>
<tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(Address of principal executive offices) (Zip Code)</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>(<b><ix:nonNumeric name='dei:CityAreaCode' contextRef='Y22' escape='true'>801</ix:nonNumeric></b>) </span><ix:nonNumeric name='dei:LocalPhoneNumber' contextRef='Y22' escape='true'>566-1200</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(Registrant&#8217;s telephone number, including area 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'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0'>Securities registered pursuant to Section 12(b) of the Act:</p>
</td><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:33.32%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:33.32%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Title of each class:</p>
</td><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Trading Symbol:</p>
</td><td valign='top' style='width:33.32%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Name of each exchange on which registered:</p>
</td></tr>
<tr><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><b><ix:nonNumeric name='dei:Security12bTitle' contextRef='Y22' escape='true'>Common stock, $0.01 par value</ix:nonNumeric></b></p>
</td><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><b><ix:nonNumeric name='dei:TradingSymbol' contextRef='Y22' escape='true'>UTMD</ix:nonNumeric></b></p>
</td><td valign='top' style='width:33.32%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><b><ix:nonNumeric name='dei:SecurityExchangeName' contextRef='Y22' escape='true'>NASDAQ</ix:nonNumeric></b></p>
</td></tr>
<tr><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:33.32%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0'>Securities registered pursuant to Section 12(g) of the Act: <b>None</b></p>
</td><td valign='top' style='width:33.34%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:33.32%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</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 if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. &#160;&#160;Yes&#160;<span style='font-family:MS Gothic'>&#9744;</span> &#160;&#160;<ix:nonNumeric name='dei:EntityWellKnownSeasonedIssuer' contextRef='Y22' escape='true'>No</ix:nonNumeric>&#160;<span style='font-family:MS Gothic'>&#9746;</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 if the registrant is not required to file reports pursuant to Section 13 or 15(d) of the Act. &#160;&#160;Yes&#160;<span style='font-family:MS Gothic'>&#9744;</span> &#160;&#160;<ix:nonNumeric name='dei:EntityVoluntaryFilers' contextRef='Y22' escape='true'>No</ix:nonNumeric>&#160;<span style='font-family:MS Gothic'>&#9746;</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 (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;&#160;<ix:nonNumeric name='dei:EntityCurrentReportingStatus' contextRef='Y22' escape='true'>Yes</ix:nonNumeric>&#160;<span style='font-family:MS Gothic'>&#9746;</span> &#160;&#160;No&#160;<span style='font-family:MS Gothic'>&#9744;</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 (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). &#160;&#160;<ix:nonNumeric name='dei:EntityInteractiveDataCurrent' contextRef='Y22' escape='true'>Yes</ix:nonNumeric>&#160;<span style='font-family:MS Gothic'>&#9746;</span> &#160;&#160;No&#160;<span style='font-family:MS Gothic'>&#9744;</span>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-align:justify'><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. 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;&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-align:justify'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0'>Large accelerated filer&#160;<span style='font-family:MS Gothic'>&#9744;</span></p>
</td><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0'>Accelerated filer&#160;<span style='font-family:MS Gothic'>&#9744;</span></p>
</td></tr>
<tr><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0'><ix:nonNumeric name='dei:EntityFilerCategory' contextRef='Y22' format='ixt-sec:entityfilercategoryen'>Non-accelerated filer</ix:nonNumeric> <span style='font-family:MS Gothic'>&#9746;</span></p>
</td><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0'>Smaller reporting company <span style='font-family:MS Gothic'><ix:nonNumeric name='dei:EntitySmallBusiness' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9746;</ix:nonNumeric></span></p>
</td></tr>
<tr><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:50%'><p style='font:10pt Times New Roman;margin:0'>Emerging growth company <span style='font-family:MS Gothic'><ix:nonNumeric name='dei:EntityEmergingGrowthCompany' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric></span></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. &#160;<span style='font-family:MS Gothic'>&#9744;</span> &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt MS Gothic;margin:0'><kbd style='margin-left:18pt'></kbd><span style='font-family:Times New Roman'>Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. Yes &#160;</span><ix:nonNumeric name='dei:IcfrAuditorAttestationFlag' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric><span style='font-family:Times New Roman'> &#160;&#160;&#160;No </span>&#9746;&#160;</p>
<p style='font:10pt MS Gothic;margin:0'>&#160;</p>
<p style='font:10pt MS Gothic;margin:0'><kbd style='margin-left:18pt'></kbd><span style='font-family:Times New Roman'>If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. &#160;</span><ix:nonNumeric name='dei:DocumentFinStmtErrorCorrectionFlag' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric>&#160;</p>
<p style='font:10pt MS Gothic;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:18pt'></kbd>Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant period pursuant to &#167;240.10D-1(b). &#160;<span style='font-family:MS Gothic'>&#9744;</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 shell company (as defined in Rule 12b-2 of the Exchange Act). &#160;Yes&#160;<span style='font-family:MS Gothic'><ix:nonNumeric name='dei:EntityShellCompany' contextRef='Y22' format='ixt-sec:boolballotbox'>&#9744;</ix:nonNumeric></span> &#160;&#160;No&#160;<span style='font-family:MS Gothic'>&#9746;</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>State the aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant&#8217;s most recently completed second fiscal quarter. &#160;As of June 30, 2022, the aggregate market value of the voting and nonvoting common equity held by non-affiliates of the registrant was <b>$<ix:nonFraction name='dei:EntityPublicFloat' contextRef='E22Q2' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>335,723,200</ix:nonFraction></b>.&#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 the number of shares outstanding of each of the registrant&#8217;s classes of common stock, as of the latest practicable date. &#160;<b>As of March 24, 2023, common shares outstanding are <ix:nonFraction name='dei:EntityCommonStockSharesOutstanding' contextRef='I230324' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>3,627,992</ix:nonFraction>.</b>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><b>DOCUMENTS INCORPORATED BY REFERENCE</b></p>
</td></tr>
<tr><td valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><b><ix:nonNumeric name='dei:DocumentsIncorporatedByReferenceTextBlock' contextRef='Y22' escape='true'>The Company&#8217;s definitive proxy statement for the Annual Meeting of Stockholders is incorporated by reference into Part III, Item 10, 11, 12, 13 and 14 of this Form 10-K.</ix:nonNumeric></b></p>
</td></tr>
</table>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;color:#800000'></p>
<a id='a1'></a><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>INDEX TO FORM 10-K</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>PAGE</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a4' style='text-decoration:none'>PART I</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a5' style='text-decoration:none'>Item 1</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a5' style='text-decoration:none'>Business</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>1</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a6' style='text-decoration:none'>Item 1A</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a6' style='text-decoration:none'>Risk Factors</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>15</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a7' style='text-decoration:none'>Item 1B</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a7' style='text-decoration:none'>Unresolved Staff Comments</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>17</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr style='height:11.5pt'><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a8' style='text-decoration:none'>Item 2</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a8' style='text-decoration:none'>Properties</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>17</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a9' style='text-decoration:none'>Item 3</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a9' style='text-decoration:none'>Legal Proceedings</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>17</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a10' style='text-decoration:none'>Item 4</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a10' style='text-decoration:none'>Mine Safety Disclosures</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>17</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a11' style='text-decoration:none'>PART II</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a12' style='text-decoration:none'>Item 5</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a12' style='text-decoration:none'>Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>18</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a13' style='text-decoration:none'>Item 6</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a13' style='text-decoration:none'>Reserved</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>19</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a14' style='text-decoration:none'>Item 7</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a14' style='text-decoration:none'>Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>20</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a15' style='text-decoration:none'>Item 7A</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a15' style='text-decoration:none'>Quantitative and Qualitative Disclosures About Market Risk</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>35</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a16' style='text-decoration:none'>Item 8</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a16' style='text-decoration:none'>Financial Statements and Supplementary Data</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>35</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a17' style='text-decoration:none'>Item 9</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a17' style='text-decoration:none'>Changes in and Disagreements With Accountants on Accounting and &#160;Financial Disclosure</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>54</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a18' style='text-decoration:none'>Item 9A</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a18' style='text-decoration:none'>Controls and Procedures</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>54</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Dutch801SWC;margin:0;text-align:center'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a19' style='text-decoration:none'>Item 9C</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a19' style='text-decoration:none'>Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>54</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a20' style='text-decoration:none'>PART III</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a21' style='text-decoration:none'>Item 10</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a21' style='text-decoration:none'>Directors, Executive Officers and Corporate Governance</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>55</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a22' style='text-decoration:none'>Item 11</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a22' style='text-decoration:none'>Executive Compensation</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>55</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a23' style='text-decoration:none'>Item 12</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a23' style='text-decoration:none'>Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>55</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a24' style='text-decoration:none'>Item 13</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a24' style='text-decoration:none'>Certain Relationships and Related Transactions, and Director Independence</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>55</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a25' style='text-decoration:none'>Item 14</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a25' style='text-decoration:none'>Principal Accounting Fees and Services</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>55</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a26' style='text-decoration:none'>PART IV</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a27' style='text-decoration:none'>Item 15</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a27' style='text-decoration:none'>Exhibits, Financial Statement Schedules</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>56</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Dutch801SWC;margin:0;text-align:center'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a28' style='text-decoration:none'>Item 1</a><a href='#a28' style='text-decoration:none'>6</a></span></p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a28' style='text-decoration:none'>Form 10-K Summary</a></span></p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>56</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:19.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:19.12%'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a30' style='text-decoration:none'>SIGNATURES</a></span></p>
</td><td valign='top' style='width:68.16%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>57</p>
</td></tr>
</table>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a4'></a><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART I</b></span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a5'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 1 &#8211;&#160;BUSINESS</b></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:7.2pt'></kbd>Currency amounts throughout this report are in thousands except per-share amounts and where noted.&#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:7.2pt'></kbd>Utah Medical Products, Inc. (&#8220;UTMD&#8221; or &#8220;the Company&#8221;) is in the business of producing high quality cost &#160;effective medical devices that are predominantly differentiated by safety and improved patient outcomes. &#160;Throughout this report, &#8220;UTMD&#8221; or &#8220;the Company&#8221; refers jointly to Utah Medical Products, Inc. and all of its subsidiaries. &#160;Success depends on 1) recognizing and responding to needs of clinicians and patients, 2) rapidly designing or acquiring economical solutions that gain premarketing regulatory concurrence, 3) reliably producing devices that meet those clinical needs, and then 4) selling through&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:31.5pt'><kbd style='position:absolute;font:10pt Dutch801SWC;margin-left:-24.3pt'>a)</kbd>UTMD's own direct channels into markets where the Company enjoys an established reputation and has a critical mass of sales and support resources, or&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:31.5pt'><kbd style='position:absolute;font:10pt Dutch801SWC;margin-left:-24.3pt'>b)</kbd>relationship with other companies that have the resources to effectively distribute and support the Company's products.&#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:7.2pt'></kbd>UTMD's success in providing reliable solutions comes from its proven ability to integrate a number of engineering and technical disciplines in electronics, software, mechanical assembly and packaging, instrumentation, plastics processing and materials. &#160;&#160;The resulting differentiated devices represent significant incremental improvements in patient safety, clinical outcomes and/or total cost over preexisting clinical tools. UTMD's experience is that, in the case of labor saving devices, the improvement in cost effectiveness of clinical procedures also leads to an improvement in overall healthcare including lower risk of complications. &#160;UTMD markets a broad range of medical devices used in critical care areas, especially the neonatal intensive care unit (NICU), the labor and delivery (L&amp;D) department and the women&#8217;s health center in hospitals, as well as medical devices sold to outpatient clinics and physician's offices.&#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:7.2pt'></kbd>The opportunity to apply solutions to recognized needs results from an excellent core of practicing clinicians who introduce ideas to the Company, and key employees who are both clinical applications savvy and development engineering adept.&#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:7.2pt'></kbd>Domestically, UTMD&#8217;s medical devices are sold directly to clinical end-user facilities or a designated stocking distributor for a medical facility. &#160;In addition, some of UTMD&#8217;s devices are sold through specialty distributors, national hospital distribution companies and other medical device manufacturers. &#160;Outside the U.S. (OUS), devices are sold directly to end-users in Canada, the United Kingdom (UK), France, Ireland, Australia and New Zealand (NZ), and through other medical device companies and independent medical products distributors in many other countries. UTMD has representation globally in the major developed countries as well as many underdeveloped countries through more than 206 distributors, 108 of which purchased at least five thousand dollars in UTMD medical devices during 2022.&#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:7.2pt'></kbd>UTMD was formed as a Utah corporation in 1978. &#160;UTMD sold stock to the public one time in 1982 for $1,750 (before offering costs of $321). &#160;Since 1992, UTMD has returned $128 million in the form of share repurchases, and an additional $78 million in cash dividends, to its public stockholders. &#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:10.8pt'></kbd>Utah Medical Products Ltd., a wholly-owned subsidiary with manufacturing located in Ireland, was formed in 1995 to better serve UTMD&#8217;s OUS customers. In 1997, UTMD purchased Columbia Medical, Inc. (CMI), a company specializing in silicone injection molding, assembly and marketing vacuum-assisted obstetrical delivery systems. &#160;In 1998, UTMD acquired the neonatal product line of Gesco International, a subsidiary of Bard Access Systems and C.R. Bard, Inc. &#160;In 2004, UTMD acquired Abcorp, Inc., its supplier of fetal monitoring belts. &#160;In 2011, UTMD purchased all of the common shares of Femcare Holdings Ltd (Femcare) of the United Kingdom, and its subsidiaries including Femcare Australia Pty Ltd as a sales and distribution operation to directly serve Australia medical facilities. The addition of Femcare provided product and distribution channel diversification and expansion. &#160;Sales of the products, or derivatives of the products, from the four acquisitions noted above, comprised 48% of UTMD&#8217;s consolidated 2022 sales. &#160;In late 2016, UTMD formed Utah Medical Products Canada Ltd (dba Femcare Canada) as a sales and distribution operation to directly serve Canadian medical facilities. In 2017, UTMD&#8217;s UK subsidiary began to distribute its devices directly to medical facilities in France. In early 2019, UTMD acquired the remaining life of Femcare&#8217;s exclusive U.S. distribution agreement for the Filshie Clip System from CooperSurgical Inc. &#160;In late 2020, UTMD&#8217;s Australia subsidiary incorporated a New Zealand subsidiary in order to distribute devices directly to medical facilities in New Zealand. &#160;In 2021, due to BREXIT, Utah Medical Products Ltd in Ireland began distributing devices directly to medical facilities in France in lieu of the UK. &#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:7.2pt'></kbd>UTMD's corporate headquarters are located at 7043 South 300 West, Midvale, Utah 84047 USA. &#160;The corporate office telephone number is 01 (801) 566 1200. &#160;Ireland operations are located at Athlone Business and Technology Park, Athlone, County Westmeath, Ireland. &#160;The Ireland telephone number is 353 (90) 647-3932. &#160;United Kingdom operations are located at 32 Premier Way, Romsey, Hampshire SO51 9DQ, United Kingdom. &#160;The UK phone number is 44 (1794) 525 100. &#160;Australia operations are located at Unit 12, 5 Gladstone Road, Castle Hill, NSW 2154, Australia. &#160;The Australia phone number is 612 9045 4110. &#160;Canada operations are located at 6355 Kennedy Road #15, Mississauga, ON L5T 2L5, Canada. The Canada phone number is 01 (905) 795-1102.&#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'>1</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>PRODUCTS</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>More complete descriptions including part numbers and pictures of UTMD&#8217;s devices can be conveniently obtained at <span style='border-bottom:1px solid #000000'>www.utahmed.com</span> and <span style='border-bottom:1px solid #000000'>www.femcare.co.uk</span>.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'><b>Labor and Delivery/ Obstetrics</b></span>:</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Fetal Monitoring Accessories.</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Electronic Fetal Monitoring (EFM) is the standard of care in labor and delivery throughout the modern world. &#160;While not all pregnancies are high risk, fetal emergencies can occur suddenly in seemingly normal labors. &#160;The use of EFM allows conservation of nursing personnel and has virtually eliminated intrapartum fetal death. &#160;Accurate determination of contraction strength increases the safety of labor augmentation and reduces the need for Cesarean section for desultory labor. Infusion of fluid through an intrauterine catheter may cushion the umbilical cord and improve oxygenation of the fetus.&#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:7.2pt'></kbd>To assist the physician in controlling the effectiveness of administration of oxytocin and monitoring effects of amnioinfusion, contraction intensities, uterine resting tones and peak contraction pressures are closely monitored through the use of an invasive intrauterine pressure catheter system. &#160;In addition, to help identify the possible onset of fetal hypoxia, correlation of the changes in fetal heart rate (FHR) relative to the frequency and duration of contractions are often electronically monitored. &#160;UTMD&#8217;s intrauterine pressure (IUP) catheters provide for clinician choices from a traditional fluid-filled system to INTRAN&#174; PLUS, for over thirty years the most widely accepted transducer-tipped system. &#160;UTMD&#8217;s IUP catheters include:&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd>UTMD&#8217;s initial fluid-filled catheter kits utilized a saline filled catheter placed within the uterine cavity, connected to a separate external reusable or disposable pressure transducer. This product package, utilizing double lumen catheters, was the traditional mode of intrauterine monitoring prior to the introduction of INTRAN. &#160;An intrauterine pressure change was transmitted through the fluid column to the external pressure transducer.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd>Introduced in 1987, INTRAN was the first disposable intrauterine pressure catheter that placed the pressure transducer at the pressure source within the uterine cavity. &#160;This design eliminated the complicated setup of fluid filled systems and provided more accurate pressure waveforms. &#160;INTRAN I was discontinued in 1995 in favor of the more widely preferred INTRAN PLUS.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd>INTRAN PLUS, introduced in 1991, combines the transducer tip concept of INTRAN I with a refined tip design, a zeroing switch or button that allows the clinician to reset the reference of the monitor, and a dedicated amniolumen which provides access to the amniotic fluid environment which may be helpful in the diagnosis and intervention of certain fetal conditions. &#160;Subsequent enhancements to INTRAN PLUS included a viewport which allows physicians to observe amniotic fluid in a closed system along with alternative configurations for user preferences in tip size, zero switch/button location and amniotic fluid visualization.&#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:7.2pt'></kbd>In addition, adjunct tocodynamometer belts are provided by UTMD. &#160;Abcorp toco belts and straps for fetal monitoring by an external tocodynamometer are provided in latex-free form in several configurations. &#160;UTMD extended the product line to include Bari-Belts&#8482; and Bari-Bands&#8482;, a series of abdominal belts designed specifically for bariatric patients and bands to accommodate patients of all shapes and sizes.&#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:7.2pt'></kbd>UTMD markets tocodynamometer belts, catheters and accessories, but does not market electronic monitors, the capital equipment that processes the electrical signals. &#160;UTMD continues to investigate the feasibility of tools that enhance fetal monitoring techniques.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Specialized Labor &amp; Delivery Tools.</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>BT-CATH&#174; is a patented uterine balloon tamponade catheter for controlling severe postpartum hemorrhage. Obstetric hemorrhage, which is unpredictable and potentially life-threatening, creates a medical emergency that is commonplace. The benefits of BT-CATH include the ease of rapid deployment and ability to monitor further bleeding after the tamponade has been placed. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>The CVX-RIPE&#8482; catheter is designed to mechanically improve the favorability of the cervix of pregnant patients at term gestation, for whom induction of labor is medically indicated. CVX-Ripe utilizes two adjacent conical silicone balloons, similar to the shape of an hourglass. &#160;This design is intended to allow the clinician to gently apply internal pressure to the cervical canal, as well as both the internal and external os, to reduce the time needed to allow induction as well as the total time to achieve a successful vaginal delivery. &#160;&#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>AROM-COT&#8482; is a finger cover with a prong designed to rupture maternal membranes with less patient pain and anxiety. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>MUC-X is an aspiration device used immediately after birth to clear neonatal respiratory passages and reduce exposure to potential infections. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>CORDGUARD&#174; is a device which unifies the multiple steps of clamping the neonate&#8217;s cord close to the umbilicus, severing the cord without splattering blood, drawing a clean cord blood sample and assisting in the removal of the placenta. &#160;CORDGUARD&#8217;s sharpless, closed system reduces the risk of exposure to potentially infected blood, and consequently reduces the high cost of exposure treatment under OSHA and CDC guidelines. In addition, CORDGUARD facilitates obtaining neonatal blood that is otherwise hard to obtain safely and cleanly.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Vacuum-Assisted Delivery (VAD) Systems.</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>UTMD&#8217;s VAD Systems include CMI&#174; soft silicone bell-shaped birthing cups and reusable hand-held vacuum pumps which are the safest products available for use in vacuum-assisted operative deliveries. UTMD&#8217;s soft silicone cup is a bell-shaped cup design that should be preferred for fetal well-being in low or outlet fetal stations with occiput anterior presentations, which represent more than 90% of the cases where VAD is indicated. &#160;Operative vaginal deliveries using forceps or vacuum-assisted delivery systems provide knowledgeable physicians with a trial vaginal operative delivery prior to a more invasive C-section intervention. Although there are risks associated with vaginal operative deliveries which may currently represent about 3% of all U.S. hospital births, the procedures are generally regarded as safer long term for the mother, and at least as safe for the fetus, as abdominal (Cesarean) delivery in comparable clinical situations. &#160;UTMD&#8217;s bell-shaped soft silicone TENDER TOUCH&#174; cups enjoy a significantly lower reported complication rate compared to other vacuum cup designs, as evidenced by the FDA Medical Device Reporting System (MAUDE) which publicly lists serious injuries reported by hospitals using specific brand names of products. &#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:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'><b>Neonatal Intensive Care</b></span>:</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>DISPOSA-HOOD&#8482;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>The DISPOSA-HOOD is an infant respiratory hood that is used in the NICU to administer oxygen to neonates and flush CO2 (carbon dioxide) while maintaining a neutral thermal environment (NTE) critical to proper physiologic responses. The DISPOSA-HOOD, placed over the infant's head, incorporates a round diffusor connection specifically designed to disperse the incoming gases along the inner surfaces of the hood, rather than allowing them to blow directly on the infant's head. &#160;The design allows more precise FIO2 (fractional inspired oxygen) control, minimizes convective heat loss from the head, provides optimum flows for elimination of CO2 by ventilation and allows for humidification. DISPOSA-HOOD, in contrast to an incubator, allows for excellent access to and visualization of the underdeveloped infant. &#160;Because it is a disposable product, it also prevents potential cross contamination that might occur with an incubator. Less invasive than nasal cannulae, DISPOSA-HOOD avoids potential damage to fragile premature neonatal nasal/ orotracheal tissues, as well as facial tissues as cannulae are often secured with tape. &#160;&#160;A nasal cannula by itself cannot provide a NTE.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>DELTRAN&#174; PLUS</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>UTMD&#8217;s DELTRAN blood pressure monitoring system has been adapted specifically for use in the NICU. &#160;The streamlined version eliminates needles used for blood sampling, avoids the loss of scarce neonatal blood volume and provides a closed system that reduces the risk of infection. &#160;The system features excellent visualization of clearing volume, and one-handed use. &#160;UTMD continues its customization of Deltran kits for specific hospital applications.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>GESCO&#174;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>In 1998, UTMD acquired the neonatal product line of Gesco International. &#160;GESCO, best known for optimally biocompatible silicone catheters, gained an early distinctive reputation for its focus on the special developmental needs of tiny, critically-ill babies. &#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:7.2pt'></kbd>A class of catheters called umbilical venous catheters (UVCs) are specially designed for administering vital medications and fluids immediately following birth through the infant&#8217;s umbilical vessel into the inferior vena cava. &#160;Because of the neonate&#8217;s small size and lack of vascular development, there is no better access to vital organs. &#160;The catheters are also called umbilical artery catheters (UACs) when placed in one of the umbilical arteries to measure blood pressure or monitor metabolic processes through blood analysis. &#160;In developing its UMBILI-CATH&#8482; product line, Gesco pioneered the use of soft, biocompatible silicone catheters, helping to reduce the number of insertions required as well as other complications associated with invasive applications. &#160;UTMD has expanded the UVC product line to include catheters made from a proprietary thermosensitive polyurethane (Tecoflex&#174;) that offers many of the flexibility and biocompatibility advantages of silicone after insertion, with the greater rigidity of polyurethane preferred by many clinicians for insertion. In addition, GESCO provides a convenient catheterization procedure tray of instruments and supplies necessary to place UVC catheters, as well as perform other similar procedures.&#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:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'> &#160;&#160;&#160;The primary distinction of GESCO products is that they were developed with the special needs of the neonate in mind, not just cut-down or smaller versions of adult devices. &#160;For example, in the case of invasive catheters, the introducer, the soft rounded distal tip, mode of securing to the patient after insertion to avoid migration, luer-locking hub with minimal dead space, number of lumens, catheter radiopaque striping for visualization, variations in catheter lengths and diameters and special packaging are all features specially designed for neonates. UTMD continues to modify product features to incorporate current neonatal practitioner preferences. </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:7.2pt'></kbd>The soft, biocompatible silicone catheter concept had important advantages in other applications including peripherally inserted central venous catheters (PICC lines), enteral feeding tubes, urinary drainage catheters and chest drainage tubes. &#160;GESCO developed and marketed initial versions of all of these neonatal products. &#160;In order to keep pace with the trend of caring for smaller babies, UTMD has added smaller diameter versions of its URI-CATH&#174; and NUTRI-CATH&#174; products. At the request of customers who prefer a stiffer catheter for insertion, UTMD added a Tecoflex polyurethane oral-connection only Nutri-Cath series.&#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:7.2pt'></kbd>PICC-NATE&#174; is a percutaneous intraepithelial central venous catheter family of devices specifically designed to minimize trauma to the critically ill neonate. &#160;The product line was designed with the input of experienced neonatal medical practitioners for use as a long-term indwelling catheter system for single-use, therapeutic central venous infusion of drug solutions, blood products or other fluids and for blood sampling. &#160;The soft, strong silicone PICC-Nate comes in three diameter sizes, 1.1 Fr, 1.9 Fr and 3.0 Fr, and two hub configurations for securement. UTMD&#8217;s most recent addition, the tiny 1.1 Fr catheter, advances the ability of clinicians to care for smaller premature babies. UTMD added Tecoflex polyurethane versions in the same sizes that offer many of the flexibility and biocompatibility advantages of silicone after insertion, with the greater rigidity of polyurethane preferred by many clinicians for insertion. &#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:7.2pt'></kbd>UTMD developed a unique enteral feeding-only extension set named NUTRI-LOK&#174; that addresses important safety risks in the NICU &#8211;&#160;inadvertent connections with IV lines and inadvertent disconnections of components of the system spanning the dispensing container through the infusion catheter. &#160;UTMD added dispensing syringes with interlocking connectors to its NUTRI-CATH/NUTRI-LOK family of enteral feeding devices. &#160;UTMD further expanded the NUTRI-LOK system with specialty extension sets for GI tubes and for continuous connection to a fluid pump. &#160;In addition, UTMD added variations in adapters and extension sets used with NUTRI-CATH. &#160;Recognizing the important need to prevent misadministration of enteral feeding or medication by the wrong route, the FDA in February 2015 released its guidance, &#8220;Safety Considerations to Mitigate the Risks of Misconnections with Small Bore Connectors Intended for Enteral Applications.&#8221; &#160;The guidance includes compliance with ISO 80369-3 standard connectors. The standard was released to create a universal connection that is not compatible with a luer connection or any other type of small bore medical connector. &#160;As a result, UTMD introduced an alternative enteral feeding family of devices incorporating ENFit&#8482; ISO 80369-3 compliant connectors. &#160;These purple connectors are designed to replace Nutri-Lok connectors on catheters and extension sets. UTMD also distributes ENFit oral syringes.&#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:7.2pt'></kbd>UTMD replaced all DEHP plasticizer PVC materials in its Gesco product line that may come in contact with neonatal patients, addressing another safety concern related specifically to the possible maldevelopment of male neonates. &#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:7.2pt'></kbd>Other GESCO specialty products include a disposable peritoneal dialysis (PD) set that is a pre-assembled, sterile, closed system, called DIALY-NATE&#174;. &#160;PD is an ideal method to aid compromised renal function in a neonate because critically-ill pediatric patients may not have sufficient blood volume to support hemodialysis. DIALY-NATE is provided in a form that allows timely PD implementation. &#160;A number of custom configurations of DIALY-NATE have been added to satisfy specific clinical preferences.&#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:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>Other specialty NICU devices include a silicone oral protection device used to prevent palatal soft tissue injury by orotracheal tubes, called PALA-NATE&#174;; a pre-assembled, closed urinary drainage system, called URI-CATH&#174;, which reduces risk of infection and valuable nursing time, and a lumbar sampling kit with a tiny, specially-beveled needle for obtaining cerebral spinal fluid samples, called MYELO-NATE&#174;. &#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:7.2pt'></kbd>GESCO&#8217;s first patented product, HEMO-NATE&#174;, is a disposable filter designed to remove microaggregates from stored blood prior to transfusion into a neonate where any deficiency can have an overwhelmingly negative impact on a neonate&#8217;s chances for survival, given an under-developed vasculature and small total blood volume. &#160;UTMD also introduced a new filter and an improved blood bag spike for HEMO-NATE, and a needleless version. &#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:7.2pt'></kbd>UTMD expects to continue to enhance and expand its neonatal product line, seeking to reinforce a reputation as having the most reliable and developmentally-friendly specialty devices available for the NICU. &#160;&#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'><b>Gynecology /Urology /Electrosurgery</b></span>:</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>LETZ&#174; System: FINESSE+ Generator; Specialty Loop, Ball, and Needle Electrodes;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>The LETZ System (loop excision of the transformation zone) is used to excise cervical intraepithelial neoplasia (CIN) and other lower genital tract lesions related to human papilloma virus (HPV) infections. &#160;The electrosurgery procedure with hemostasis has become the standard of care for HPV cervical infection treatment, replacing cold knife scalpel, laser and cryotherapy procedural approaches because it is economical, safe, effective, quick and easy to perform, has fewer potential side effects and requires little physician training. &#160;A major incentive for performing the LETZ procedure is that it may be performed using local anesthetic in a physician's office, eliminating the time and expense of hospital or surgical center admittance. &#160;Most importantly clinically, in contrast to laser (tissue ablation) and cryotherapy (freezing of tissue), LETZ provides a fine tissue specimen for pathological assessment. &#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:7.2pt'></kbd>UTMD&#8217;s LETZ System includes disposable electrodes, the FINESSE&#174; electrosurgical generators and other miscellaneous components. &#160;The UtahLoop&#174; disposable loop electrode, used to excise the tissue specimen, is a pencil like tube with a thin tungsten wire loop attached. &#160;The loop is available in varying sizes and includes a Safe T Gauge&#174; that can be positioned so the physician can accurately monitor and control the amount of tissue being excised. Excising too much tissue can compromise fertility and result in premature birth. Excising too little tissue can result in failure to remove the precancerous tissue. UTMD continues to augment its specialty electrodes. For example, the Company markets a unique conization electrode for deep endocervical disease called C-LETZ&#174;, designed by UTMD to limit the removal of healthy tissue margins that might compromise adequate cervical function. &#160;UTMD introduced the patented DXTender&#174; electrode attachment that prevents interference with the colposcope during LETZ. &#160;UTMD also will continue to provide other components to augment the use of its market-leading specialty electrodes with other manufacturers&#8217; electrosurgical generators. &#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:7.2pt'></kbd>After more than 20 years on the market, UTMD completed a significant redesign, and achieved certification to current EN 60601 international safety standards, for a FINESSE+ electrosurgical generator. &#160;The FINESSE+ design includes dispersive pad contact monitoring for improved patient safety, improved circuitry for computer controlled-output that provides a precise tissue specimen for histopathology, a more efficient output stage resulting in less heat generation and longer electronic component life, an update to electronic components which reduces the number of required components and increases service life, and an easy change internal filter for integral smoke evacuation, a unique feature of FINESSE.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>FILTRESSE&#174; Evacuator; Other Specialty Electrodes; Other UTMD Supplies and Gynecologic Tools; Femcare Trocars and Cannulae; and Femcare Laparoscopic Instruments and accessories.</span></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:7.2pt'></kbd>UTMD has FDA clearance to market its electrosurgical system and tools for use in general surgery applications, including dermatology, plastic surgery and otolaryngology. &#160;FILTRESSE is a stand-alone surgical smoke filtration system that combines high filtration efficiency, low cost and convenient use in a surgical office setting. Other electrosurgery tools and accessories include disposable electrosurgical pens, dispersive pads, footswitches, filter packs, speculums, retractors, forceps, tenacula and hooks. &#160;UTMD acquired the distribution rights to a unique reusable four-way expander system which facilitates access to, and visualization of, the cervix, eliminating the need for less effective specula and lateral retractors. OptiSpec&#174; is a patented ultra-bright light for cervical visualization without physician distraction during exams, pap smears and other vaginal procedures requiring direct cervical visualization without the use of a colposcope. &#160;As part of its acquisition of Femcare, UTMD acquired single patient use trocars and cannulae available in shielded and bladeless designs, suction and irrigation tubing, insufflation tubing and connectors, pressure infusor bags and control valves. Also acquired were Femcare&#8217;s hormone replacement therapy (HRT) trocar/obturator and HRT procedure tray for subdermal placement of hormone tablets, and a femoral sponge product used during joint replacement surgery. &#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:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>EPITOME&#174; and OptiMicro&#8482; Electrosurgical Devices</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>After finding the general surgical market lacked a precision electrosurgical blade, UTMD developed EPITOME, an electrosurgical scalpel which delivers precise performance in surgical incision and excision with hemostasis while minimizing thermal side effects. &#160;Where rapid yet precise dissection of dense or fatty tissue is necessary, such as in mammaplasty or abdominoplasty, UTMD believes that EPITOME has no close substitute. &#160;Furthermore, an independent study concluded that the EPITOME scalpel provides a significant improvement over other devices in wound healing. &#160;EPITOME allows a rapid incision without countertraction, yielding limited morbidity, less post-surgical pain and cosmetically superior results. &#160;&#160;EPITOME is useful where minimization of thermal tissue injury is important but control of bleeding needed. A bendable version of EPITOME with a smaller active electrode was introduced later. Designed to significantly reduce the chance of tissue burns due to inadvertent electrode contact and where a smaller, bent scalpel tip is needed, the bendable EPITOME is of particular value, e.g., to thoracic surgeons in harvesting the internal mammary artery during coronary artery bypass surgery, as well as to otolaryngologists for tonsillectomies or uvulopalatoplasties, or plastic surgeons creating or working in a breast pocket during augmentation or capsulectomy.&#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:7.2pt'></kbd>UTMD introduced a product line of ultra-fine tipped microdissection needles, called OptiMicro&#8482; Needles, to complement the Epitome Scalpel. &#160;Whereas the Epitome Scalpel has been particularly effective for large scale surgeries that entail a great amount of tissue cutting, the OptiMicro electrosurgical needles are particularly useful in small-scale plastic and reconstructive surgery applications where extreme precision and ideal cosmetic results are expected. &#160;UTMD added extended length OptiMicro needle versions useful in certain head and neck procedures.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Filshie&#174; Clip System</span></p>
<p style='font:10pt Times New Roman;margin:0'> &#160;&#160;UTMD acquired the Filshie Clip System as part of its acquisition of Femcare Group Ltd in March 2011. In 2022, sales of Filshie clips, applicators and accessories represented 24% of UTMD&#8217;s total U.S. Dollar denominated sales. The Filshie clip is a female surgical contraception device used for tubal ligation, i.e., placed on the fallopian tubes, generally laparoscopically in between pregnancies (interval sterilization), but also postpartum (following childbirth) during C-Sections. The Filshie clip, implanted in over six million women worldwide during the last 39 years, has empirically been proven to be the safest and most effective tubal occlusive device, is as easy or easier to achieve occlusion as any of the alternative surgical techniques, and has a substantially higher probability of reversibility when compared to all of the other approaches for women who later decide that they would like to get pregnant. Femcare has obtained numerous regulatory approvals for the Filshie Clip System, which throughout 2022 was sold OUS directly by UTMD and its subsidiaries to medical facilities in Canada, Ireland, France, the UK, Australia and New Zealand, and through specialty distributors in other countries. In February 2019, UTMD purchased the remaining exclusive U.S. distribution rights of CooperSurgical Inc. (CSI), allowing the Company to directly distribute the Filshie Clip System to medical facilities in the U.S. &#160;&#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'> &#160;&#160;There have been several tubal ligation methods with varying degrees of effectiveness, safety and opportunity to be reversed. The traditional tubal ligation approach, informally known as &#8220;getting one&#8217;s tubes tied&#8221;, is a form of female sterilization in which the fallopian tubes are severed, sealed and permanently pinched shut. &#160;If the sterilization procedure is carried out postpartum, the Pomeroy technique is often adopted. During this procedure a small loop of the fallopian tube is tied with a suture and the top section removed by cutting. A traditional method for interval sterilization is with the use of bipolar cautery (electrocautery). With this method, an electric current flows between the tips of forceps when applied to the fallopian tube. The current then &#8220;burns&#8221; a portion of the fallopian tube shut. Bipolar cautery has a higher rate of ectopic pregnancy, a life-threatening complication, compared to other tubal occlusion methods. Although these common methods are relatively easy to perform, their failure rate - defined as the percentage of patients having undergone the procedure who subsequently get pregnant - has been reported to be about 3%. The Filshie clip, which can be used either postpartum or at times unrelated to the post-partum period (interval sterilization), is at least as easy to use, has much less intraoperative risk, has a reported failure rate an order of magnitude less than bipolar cautery and is more effective and much simpler to perform than the Pomeroy technique.</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>6</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'> &#160;&#160;Apart from bipolar cautery and the Pomeroy technique, other mechanical devices have been used but are no longer manufactured: the Falope Ring (or Yoon Ring) and the Hulka clip. Both these older methods had a higher failure rate than the Filshie clip, are associated with more post-operative pain and have generally been abandoned in favor of other sterilization techniques. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'> &#160;&#160;In more recent years, hysteroscopic sterilization devices were introduced as an alternative to laparoscopic tubal ligation. The devices were the Adiana by Hologic Inc. and the ESSURE by Conceptus, Inc. (acquired by Bayer AG in 2013). &#160;Both of these transcervically implanted devices are no longer being marketed; Adiana was stopped in 2012 and ESSURE was stopped in 2017. Prior to Bayer ceasing the distribution of ESSURE, the device had received a substantial amount of negative publicity regarding unwanted side effects, particularly from patients using social media. Unfortunately, because both the Filshie clip and ESSURE are surgically implanted devices designed to achieve sterilization by tubal occlusion, some readers of the media - including certain product liability attorneys - have incorrectly concluded that the negative side effects of ESSURE also apply to Filshie clips. UTMD would like to provide clarification to stockholders why this association is incorrect.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'> &#160;In particular, within a few hundred thousand implanted ESSURE devices, thousands of women complained about possible autoimmune responses, allergic response to nickel and/or significant chronic pain. These symptoms do not apply to Filshie clips as the ESSURE device and Filshie clips are substantially different in design and use. &#160;ESSURE, with components made of nickel, had a metal coil with a tip capable of perforation. It was hysteroscopically implanted (with some difficulty and risk of unwanted bodily injury) inside the fallopian tubes, which then caused scar tissue to grow around it over time and occlude the tubes. Filshie clips are clamped over the tubes, laparoscopically or following a C-section, with immediate effective occlusion and almost no chance of patient injury in the course of implantation beyond the normal risks of laparoscopic surgery. There are no nickel components in the Filshie clip. However, a minute amount of nickel does exist in medical grade silicone and titanium, generally accepted worldwide as the most biocompatible materials for human implants. A toxicology study by a reputable microbiology firm confirmed that the amount of nickel found in Filshie clips is significantly less than that found in normal drinking water and foods. Orthopedic implants, for example, are routinely made of titanium in massively greater amounts. Out of millions of Filshie clips in use, a few complaints have come from patients who suspected that they were allergic its components - including to copper, which is not in Filshie clips - but there have been no such reports from clinicians or in the clinical literature.</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:9pt'></kbd>Pain associated normally with any laparoscopic procedure generally resolves within 48 hours, and is not severe, nor does it become chronic unless the result of an infection. Sterile Filshie clips are provided to the surgeon in validated sterile packaging. Nevertheless, pain is the most prevalent (but still rare) Filshie clip complaint. &#160;In women with implanted clips who have reported chronic pain, several other gynecological symptoms are typically present which are not related to Filshie clips. The obvious recourse for a person experiencing pain that she associates with an implanted device is to remove it. &#160;ESSURE, which is difficult if not impossible to remove, requires specialized surgical technique. In contrast, given widely available imaging and normal laparoscopic skills, Filshie clips can be removed safely, although removal is very rarely requested by patients or recommended by physicians.&#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:9pt'></kbd>A well-known and clinically-reported potential side effect of Filshie clip tubal ligation is clip migration. A clip-occluded fallopian tube eventually separates into two permanently closed stubs after tissue necrosis under a closed clip. Peritoneal tissue usually encapsulates an implanted clip while still in contact with the fallopian tube. &#160;In some cases where tissue encapsulation is slow, migration of a clip may occur after sterilization has been achieved. Although the silicone lining of the clip helps prevent clip migration and reduces the risk of tubal regeneration, one clinical journal publication indicated migration occurs 6% of the time. Dr. Marcus Filshie, the inventor of the clip, expressed his opinion in 2002 that more than 25% of patients will experience a migration of one or more clips, typically within the abdominal cavity. Once detached, the clip typically becomes encompassed in dense adhesive tissue without any symptoms. Rarely, a low grade inflammatory response can occur. Because clips are biologically inert and small, physicians generally have concluded that removing a migrated clip represents more risk to long term well-being than leaving it in the body. &#160;In 2019, UTMD retained an independent clinical expert, Dr. Nader Gad in Australia, who in 2010 had published the results of an almost twenty-year retrospective review of all reported Filshie clip migration events in the English literature, in order to independently review all subsequent reported complaints contained in the US FDA MAUDE website and the Australia TGA DAEN website over the most recent ten years. His February 2019 written report observed that &#8220;There were no serious clinical or life-threatening complications that related directly or indirectly to the Filshie clips or their migration.&#8221; &#160;&#160;&#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'>7</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>In late 2021, after the Filshie clip had been used in the U.S. for 25 years and implanted in millions of women, a clip migration lawsuit was filed in Texas. Subsequently, the same law firm solicited and recruited claimants in other states. As of the end of January 2023, there were a total of fourteen clip migration lawsuits initiated by the same law firm in twelve different states. UTMD has filed motions to dismiss in most of those lawsuits, one of which has been granted. A dismissal can be appealed, but as of yet hasn&#8217;t been. Management expects others to be dismissed based on legal grounds such as lack of jurisdiction or U.S. FDA preemption. In lawsuits where UTMD&#8217;s early motions for dismissal have been denied, those denials will be challenged by facts presented by UTMD at a later stage. In UTMD&#8217;s view, the current lawsuits which have not been litigated yet are without merit as UTMD believes that they are preempted by federal law.&#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:9pt'></kbd>The U.S. FDA approved the Filshie clip for marketing in the U.S. in 1996 after a Premarket Approval (PMA) submission, which included a prospective clinical trial involving 5,454 women implanted with Filshie clips. &#160;As mandated by the FDA, Femcare (the developer and manufacturer of the Filshie Clip System) is required to submit an annual experience report for FDA&#8217;s continual review and vigilance of the safety and effectiveness of the PMA device. &#160;In late 2016, the FDA approved the use of Femcare&#8217;s Sterishot single use applicator for implanting Filshie clips. (An applicator is a precision instrument which closes the implanted Filshie clip on the Fallopian tube to achieve proper permanent tubal ligation.) Reused applicators require extra handling, cleaning, resterilization and storage, which all have the potential to damage or misalign the delicate mechanism. Timely periodic servicing and recalibration is needed, but often not sought by hospitals. In addition, the reuse of a surgical instrument introduces the possibility of infection if not properly cleaned and resterilized between procedures. The precalibrated, single-use sterile Sterishot applicator eliminates these safety, effectiveness and cost exposures. After more than ten years since being introduced outside the U.S. (OUS), the patented Sterishot is used in the majority of Filshie clip ligation procedures OUS, but was not effectively marketed by CSI, Femcare&#8217;s distributor in the U.S. until 2019. &#160;Beginning in February 2019, UTMD began directly marketing the Filshie Clip System in the U.S., strongly recommending that all hospitals use a Sterishot kit for each procedure. &#160;&#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>PATHFINDER PLUS&#8482;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>PATHFINDER PLUS is a proprietary endoscopic irrigation device that allows a uro/gyn surgeon to precisely irrigate, clearing the visual field, with the same hand that controls the endoscope, eliminating the need for a separate assistant to irrigate without visualization. &#160;An example of a procedure where Pathfinder has found particular success is ureteroscopic stone ablation.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>SUPRAPUBIC CATHETERIZATION</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>The Add-a-Cath&#8482; introducer is a Femcare device designed for easy and safe suprapubic introduction of a catheter for bladder drainage. &#160;Suprapubic catheterization is generally well-recognized as a drainage method with fewer complications than with urethral catheterization. &#160;&#160;In 2013, UTMD introduced suprapubic catheterization procedure kits featuring the Add-a-Cath introducer, which UTMD now distributes directly to end-users in the U.S. under the trade name Supra-Foley&#174;.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>LIBERTY&#174; System</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>LIBERTY is a device for the conservative treatment and effective control of urinary incontinence in women. &#160;UTMD believes that LIBERTY is the easiest-to-use, most cost-effective incontinence treatment available that yields a therapeutic effect, not just a cover-up. LIBERTY consists of a battery-operated electrical stimulation unit and an intravaginal electrode probe. &#160;This physiotherapy technique, which can be done in the privacy of the home, involves passive strengthening of the periurethral muscles. &#160;Pulsed, low voltage, low frequency current is applied primarily to the pudendal neuromuscular tissue causing the pelvic area muscles to contract, leading to better muscle tone. &#160;Because electrical stimulation has no known adverse side effects, LIBERTY provides women suffering from mild to moderate incontinence an effective, lower cost and lower risk alternative to more traumatic treatments such as surgery and drug therapy. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>ENDOCURETTE&#174;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>In cooperation with Mayo Clinic, UTMD developed an advanced curette for uterine endometrial tissue sampling in the doctor&#8217;s office. &#160;The sampling procedure is intended primarily to rule out precancer or cancerous change of the uterus in premenopausal women with abnormal uterine bleeding, or women with postmenopausal bleeding. &#160;The device is part of a class of catheters designed to be used without dilatation of the cervix and without general anesthetic. &#160;The inherent weakness of this type of device, which is related to its small size, is that it may not remove enough tissue of the endometrium for an accurate histologic assessment, in contrast to a more invasive D&amp;C hospital procedure. &#160;The tip of the EndoCurette was specially designed to obtain a more thorough tissue specimen compared to other catheters used without the need for dilatation, and without an increase in patient discomfort. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>TVUS/HSG-Cath&#8482;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>In order to further assess persistent abnormal or dysfunctional uterine bleeding and other suspected abnormalities of the uterus, or as a next step after endometrial tissue sampling with an EndoCurette, gynecologists may utilize transvaginal ultrasound imaging of the uterus. &#160;UTMD&#8217;s TVUS/HSG-Cath was designed and released for marketing in 2007 to provide effective cervical occlusion that allows distention of the uterus to differentiate anterior and posterior endometrium, among other irregularities, together with minimal visual obstruction of the uterus near the internal os. &#160;In addition, the TVUS/HSG-Cath may be used in hysterosalpingography radiographic procedures to assess the patency of fallopian tubes. &#160;A related device acquired in 2011 is Femcare&#8217;s Spackman Style uterine cannula designed for the manipulation of the uterus and injection of fluid to test the patency of the fallopian tubes. &#160;&#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>8</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>LUMIN&#174;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>LUMIN&#174; is a gynecological tool developed by UTMD for reliably and safely manipulating the uterus in laparoscopic procedures. &#160;LUMIN combines the strength, range of motion and versatility of the higher end reusable instruments with the lower cost and cleanliness of the inexpensive less functional disposable instruments presently on the market, while at the same time reducing the number of tools needed to move and secure the uterus. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'><b>Blood Pressure Monitoring:</b></span></p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>DELTRAN&#174; Disposable Pressure Transducer (DPT)</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>In pressure monitoring, a transducer is used to convert physiological (mechanical) pressure into an electrical signal that is displayed on electronic monitoring equipment. &#160;UTMD developed and is now distributing its disposable transducer as a stand alone product, and as a component in sterile blood pressure monitoring kits through direct representatives and other medical companies in the U.S., as well as independent distributors and other medical device companies OUS.&#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:7.2pt'></kbd>The Company believes that the DELTRAN DPT which it designed over thirty years ago and currently manufactures, remains the standard in terms of accuracy, reliability and ease of use. &#160;Introduced in 1998, the DELTRAN PLUS provides a closed system for blood sampling, without the use of needles, reducing the risk of an unwanted infection for both the patient and the practitioner. &#160;In 2009, in conjunction with its other NICU devices, UTMD continued to configure neonatal Deltran custom kits which satisfy the special needs of conserving limited blood volume and protecting the neonate from infection. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Pressure Monitoring Accessories, Components and Other Molded Parts.</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>Components included in blood pressure monitoring kit configurations include transducers, flush devices, stopcocks, fluid administration sets, caps, pressure tubing, interface cables and organizers. &#160;The Company sells similar components designed for other medical device company applications which incorporate UTMD&#8217;s technologies and designs. &#160;DELTA-CAL&#8482; is a calibration device used to check proper functioning of an arterial pressure system. &#160;In addition, UTMD sells plastic molded parts on a subcontract basis to a number of medical and non-medical device companies. &#160;In addition, partly as a result of its excellent quality system and ISO13485 certification, UTMD performs subcontract assembly, testing and packaging of components that are proprietary to other medical device firms. &#160;UTMD believes that this practice helps better utilize its investment in fixed plant and equipment, and spreads overhead costs resulting in better gross profit margins on finished device sales. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>MARKETING and COMPETITION</span></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:7.2pt'></kbd>UTMD divides its sales into &#8220;domestic&#8221; U.S. sales and &#8220;outside the U.S.&#8221; (OUS) sales, which are finished device and component sales to entities outside the U.S. &#160;&#160;&#160;&#160;&#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>1) &#160;<span style='border-bottom:1px solid #000000'>Domestic sales</span>.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>For domestic sales to end-users of finished devices, marketing efforts are complex and fragmented. &#160;UTMD&#8217;s marketing focus is with clinicians who take responsibility for obtaining optimal patient care outcomes, primarily through clinical meetings, trade shows and the Internet. &#160;In competitive bidding processes, UTMD must work primarily with administrators who are responsible for hospital purchasing decisions.. &#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:7.2pt'></kbd>UTMD competes primarily on the basis of improved patient safety and reliable device performance in the hands of a trained clinician. &#160;A number of UTMD&#8217;s devices are strong brands because they are well-recognized by clinicians as clinically different and have been in trusted use for decades. &#160;UTMD&#8217;s broad offering of finished devices is comprised of dozens of specialty device types. &#160;Although there may be only a few competitors for each type, in the aggregate UTMD has dozens of U.S. medical device competitors. &#160;There are at least two competitors with significant market share for each of UTMD&#8217;s device types. &#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:7.2pt'></kbd>As a general rule, because of UTMD&#8217;s differences in design and reliability, competitors&#8217; devices represent substitutes rather than equivalent devices. &#160;The Company&#8217;s primary marketing challenge is to keep its customers focused on those differences and their important clinical benefits. &#160;In recent years, access to U.S. hospital clinicians has become increasingly restricted and the involvement of clinicians in medical device purchasing decisions, which is critical to the Company&#8217;s success, has declined. To the degree that U.S. hospitals become less focused on patient safety and clinical outcomes and more on out-of-pocket unit price, UTMD&#8217;s competitive position weakens. &#160;&#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>9</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>In 2022, UTMD sold components and finished devices to 146 other companies in the U.S. (OEM sales). For over 40 years, the Company has utilized its manufacturing capabilities and engineering know-how to produce high quality components and finished devices for other companies. &#160;For U.S. companies which wish to distribute their products outside the U.S., UTMD&#8217;s maintenance of certification to current ISO 13485 medical device quality standards is an important benefit. &#160;UTMD&#8217;s website, which lists its capabilities, is often the basis for contacts for new OEM work.&#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:7.2pt'></kbd>Although there are other manufacturers in the U.S. with similar manufacturing capabilities, UTMD&#8217;s primary competition comes from Mexico, East Europe, India and China device component manufacturers which have much lower wage rate structures. To the extent that the U.S. Dollar (USD) gains strength in any period of time against foreign currencies, UTMD&#8217;s ability to be cost-competitive with foreign manufacturers is diminished. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>2) &#160;<span style='border-bottom:1px solid #000000'>Outside the U.S. (OUS) sales</span>. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>OUS sales in 2022, as a percentage of consolidated total USD sales, represented 39% compared to 38% in 2021 and 39% in 2020. &#160;In USD terms, 64% of 2022 OUS sales were invoiced in foreign currencies. In addition, foreign subsidiary expenses are in the native currency of the respective country. &#160;Therefore, changes in foreign currency exchange (FX) rates can have a significant impact on UTMD&#8217;s USD-reported financial results. &#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:7.2pt'></kbd>Prior to 2011, with only a few exceptions, UTMD&#8217;s OUS sales were to other medical device companies and distributors, not to clinical end-user facilities. After the acquisition of Femcare in 2011, UTMD began a transition to marketing directly to end-users in countries where the Filshie Clip System had achieved significant acceptance. This also allowed increased distribution opportunities for other UTMD devices which previously did not have significant third-party distributor interest. &#160;In 2022, UTMD distributed directly to OUS medical facilities in Canada, the UK, France, Ireland, Australia and New Zealand. &#160;In addition, the Company&#8217;s devices are sold in other countries OUS through over 200 independent regional distributors. UTMD&#8217;s website provides information that frequently results in unsolicited contacts from OUS entities. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>DISTRIBUTION</span></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:7.2pt'></kbd>An important success factor in the medical device industry is access to medical practitioners. &#160;In the U.S., the hospital supplier environment has consolidated as a result of group purchasing organizations (GPOs), or their equivalents. &#160;It is UTMD&#8217;s assessment that U.S. hospitals are not saving costs under GPO contracts when it comes to specialty medical devices that can reduce complications, utilization rates, clinician time and unwanted side effects, because administrators are focused primarily on out-of-pocket costs and miss the broader total cost of care issues. &#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:7.2pt'></kbd>The longer term overall cost of care in the U.S. will continue to increase, with quality of care lower, as innovative suppliers are excluded from participating in the marketplace as a result of unnecessary regulatory and other purely administrative burdens. The length of time and number of administrative steps required in evaluating new products for use in hospitals has grown substantially. As a potential negative factor to future performance, as UTMD introduces new products it believes are safer and more effective, it may find itself excluded from certain customers because of the existence of long term supply agreements for existing products. UTMD may also be unable to establish viable relationships with other medical device companies that do have access to users but lack an interest in the Company&#8217;s approach or demand too great a financial or administrative burden. &#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:7.2pt'></kbd>When U.S. hospital customers request it, UTMD provides its devices through national distribution companies, also known as Med/Surg distributors. &#160;Sales to Med/Surg distributors in 2022 comprised 14% of total domestic direct sales (excluding domestic OEM sales). &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>  &#160; In the U.S., Canada, Ireland, France, the UK, New Zealand and Australia, UTMD sells its products with the support of its own directly employed customer service and sales force, independent consultants and selective independent manufacturer representatives. &#160;Direct sales representatives focus on applications for UTMD devices where customer training and support may be important. The direct employee sales force is comprised primarily of &#8220;inside&#8221; representatives who operate by telephone and email from corporate offices. &#160;The Company also utilizes independent sales representatives primarily on a growth commission basis. &#160;Direct representatives are trained to understand the medical procedures being performed within UTMD&#8217;s clinical focus. Through the use of its one-on-one contacts with physicians and other clinical practitioners directly involved in patient care, the direct sales force positions UTMD to gain market leadership with specific solutions to clinical issues. In addition to its direct representatives, UTMD utilizes third party consulting clinical specialists to augment its customer training programs.</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:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>Additionally, UTMD sells component parts as well as finished devices to other companies for use with their product lines. &#160;This OEM distribution channel is simply maximizing utilization of manufacturing capabilities that are otherwise needed for UTMD's primary business, and does not compete with or dilute UTMD&#8217;s direct distribution and marketing programs.&#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:7.2pt'></kbd>OUS, the Company and its subsidiaries distribute directly to end-user facilities in Canada, the UK, France, Ireland, New Zealand and Australia, and in 2022 sold to 206 regional distributors and OEMs (other medical device manufacturers and/or distributors) in over a hundred countries. Ten percent of UTMD&#8217;s independent OUS distributors comprised 78% of UTMD&#8217;s indirect OUS sales in the years of 2020 - 2022. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>NEW PRODUCT DEVELOPMENT &#160;</span></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:7.2pt'></kbd>New product development has been a key ingredient to UTMD&#8217;s market identity. &#160;Product development takes several interrelated forms: 1) improvements, enhancements and extensions of current product lines in response to clinical needs or clinician requests, 2) introduction of new or augmented devices that represent a significant improvement in safety, effectiveness and/or total cost of care, and 3) acquisitions of products or technology from others. &#160;Manufacturing process development is an equally important aspect that cannot be separated from the successful design and development of devices. &#160;&#160;&#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:7.2pt'></kbd>Because of UTMD&#8217;s reputation as a focused product developer, its financial strength and its established clinician user base, it enjoys a substantial inflow of new product development ideas. &#160;Internal development, joint development, product acquisitions and licensing arrangements are all included as viable options in the investigation of opportunities. &#160;Only a small percentage of ideas survive feasibility screening. &#160;For internal development purposes, projects are assigned to a project manager who assembles an interdisciplinary, cross-functional development team. &#160;The team&#8217;s objective is to have a clinically acceptable, manufacturable and regulatory-released product ready for marketing by a specific date. &#160;Several projects, depending on the level of resources required, are underway at UTMD at any given time. Only a few assigned projects succeed in attaining a product that meets all of the Company&#8217;s criteria. In particular, this includes a product that is highly reliable, easy to use, cost-effective, safe, useful and differentiated from the competition. Once a product is developed, tooled, fully tested and cleared for marketing by the applicable regulatory entity(ies) in the U.S. and/or other countries, there remains a reasonable probability it cannot be successfully marketed for any number of reasons, not the least of which is being beaten to the market by a competitor with a better solution, or not having access to users because of limitations in marketing and distribution resources or exclusionary contracts of GPOs. &#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:7.2pt'></kbd>UTMD&#8217;s current product and process development projects are in the following areas: 1) augmentation and internal manufacturing of existing UTMD devices, 2) neonatal intensive care, 3) specialized procedures for the assessment and treatment of cervical/uterine disease, 4) labor and delivery procedures, and 5) product and process development for OEM customers. Internal product development expenses are expected to remain in the range of 1-2% of sales. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>EMPLOYEES AND OTHERS </span></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:7.2pt'></kbd>At December 31, 2022, the Company worldwide had 186 full-time employees, 35 part-time employees, 6 regular consultants, 19 independent sales representatives and 8 outside directors of UTMD and its subsidiaries. &#160;The Company utilizes independent consultants and directors, some of which were prior employees. Almost all of UTMD&#8217;s internally-manufactured devices are made either in Utah or in Ireland. At the end of 2022, the average tenure with the Company of the combined 186 full-time employees worldwide is now 13 years. In Utah, 20% of full-time employees have been with the Company for more than 30 years. This experience conveys an important benefit due to the level of training required to produce consistently high quality medical devices and appreciation of how UTMD&#8217;s devices provide unique benefits for clinicians and patients. &#160;The Company's continued success will depend to a large extent upon its ability to retain skilled and experienced employees and consultants. &#160;No assurances can be given that the Company will be able to retain or attract such people in the future, although management is committed to providing an environment in which reliable, creative and high achieving people wish to work.&#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:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>None of the Company's officers or directors is bound by restrictive covenants from prior employers that limit their ability to contribute to UTMD&#8217;s programs. &#160;All employees agree to a code of conduct and sign a strict confidentiality agreement as a condition of employment, and as consideration for receipt of stock option awards and participation in the annual profit-sharing bonus program. &#160;All employees participate in contemporaneous performance based bonus programs. &#160;None of the Company's employees is represented by labor unions or other collective bargaining groups. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>PATENTS, TRADEMARKS AND TECHNOLOGY LICENSES</span></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:7.2pt'></kbd>The Company currently owns eight unexpired U.S. patents, numerous associated patents in sovereignties OUS, and is the licensee of certain other technology. There can be no assurance, however, that patents will be issued with respect to any pending applications, that marketable products will result from the patents or that issued patents can be successfully defended in a patent infringement situation. &#160;The Company also owns thirty-one registered trademarks which have achieved significant brand recognition. The Company believes that its trademarks and tradenames, many of which have become well known in the global medical community through decades of successful use of the associated medical devices, likely have and will continue to have substantially more intangible value than its patents. &#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:7.2pt'></kbd>The ability of the Company to achieve commercial success depends in part on the protection afforded by its patents and trademarks. &#160;However, UTMD believes that the protections afforded by patents and trademarks are less important &#160;to &#160;UTMD&#8217;s business, taken as a whole, &#160;than a medical device&#8217;s established incremental clinical utility, which may be dominated by a number of other factors including relative cost, ease of use, ease of training/adoption, perceived clinical value of different design features, risk of use in applicable procedures, the reliability of achieving a desired outcome in the hands of different users and market access to potential users. &#160;In cases where competitors introduce products that may infringe on UTMD&#8217;s technology or trademarks, the Company has an obligation to its stockholders to defend its intangible property to the extent that it can afford to do so, and that it is material to the Company&#8217;s success. The Company must also defend itself if competitors allege that UTMD may be infringing their technologies.&#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:7.2pt'></kbd>As a matter of policy, UTMD has acquired and will continue to acquire the use of technology from third parties that can be synergistically combined with UTMD proprietary product ideas. &#160;During 2022, royalties included in cost of goods sold were $125. &#160;Other royalties have been previously paid as a lump sum, or were incorporated into the price of acquisitions or into the cost of purchased components which practice certain patents of third parties. &#160;Also as a matter of policy, UTMD licenses its proprietary technology to others in circumstances where licensing does not directly compete with UTMD's own marketing initiatives. &#160;During 2022 the Company received $20 in royalty income compared to $15 in 2021 and $20 in 2020. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>GOVERNMENT REGULATION</span></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:7.2pt'></kbd>UTMD and its subsidiaries&#8217; products and manufacturing processes are subject to regulation by the U.S. Food &amp; Drug Administration (&#8220;FDA&#8221;), as well as many other regulatory entities globally. &#160;The FDA has authority to regulate the marketing, manufacturing, labeling, packaging and distribution of medical devices in the U.S. &#160;Requirements exist under other federal laws and under state, local and foreign statutes that apply to the manufacturing and marketing of the Company's medical devices.&#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:7.2pt'></kbd>All manufacturers of medical devices must register with the FDA and list all medical devices produced by them. &#160;&#160;In addition, prior to commercial distribution of some devices for human use, a manufacturer must file a notice with the FDA, setting forth certain information regarding the safety and effectiveness of the device that is acceptable in content to the FDA.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-indent:9pt'>Devices which are classified in Class I are subject only to the general controls concerning adulteration, misbranding, good manufacturing practices, record keeping and reporting requirements. &#160;Devices classified in Class II must, in addition, comply with special controls or performance standards promulgated by the FDA. &#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:7.2pt'></kbd>Except for the Filshie Clip System, all of UTMD&#8217;s present devices are unclassified, Class I or Class II devices. The Filshie Clip System is a Class III device which has more stringent regulatory controls. The Company is in compliance with all applicable U.S. regulatory standards including CFR Part 820, the FDA Quality System Regulation (QSR) effective in 1997, also known as cGMPs (current good manufacturing practices). &#160;The Company&#8217;s most recent Utah FDA QSR inspection was in July 2014, which did not result in the issuance of any FDA-483 observations. &#160;In 2019, UTMD&#8217;s manufacturing facilities in Utah were audited and certified by a recognized authorized auditing organization under the new Medical Device Single Audit Program (MDSAP). In most circumstances, the new MDSAP eliminates the need for FDA QSR inspections. The Company&#8217;s most recent UK FDA QSR inspection was in July 2019, which also did not result in the issuance of any FDA-483 observations.&#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'>12</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>In 1994, UTMD received certification of its quality system under the ISO9001/EN46001 standards (&#8220;ISO&#8221; stands for &#8220;International Organization of Standardization&#8221;) which it maintained until December 2003. &#160;In October 2003, UTMD&#8217;s Utah facility was certified under the more stringent ISO13485 standard for medical devices. UTMD&#8217;s Ireland facility was certified under the concomitant ISO13488 standard. &#160;In July 2006, both facility ISO certifications were upgraded to the even more stringent ISO13485:2003 standard. &#160;Currently, UTMD&#8217;s facilities in the UK, Ireland and Utah are all certified under the most recent ISO13485:2016 standard. &#160;In 2020, UTMD&#8217;s manufacturing facilities in Ireland and UK were audited and certified by a recognized authorized auditing organization under the MDSAP. The MDSAP offers an &#8220;all-in-one&#8221; inspection regime to accommodate the quality system requirements of Australia, Brazil, Canada, USA and Japan.&#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:7.2pt'></kbd>UTMD and Femcare remain on a continuous periodic audit schedule by its independent notified body and authorized MDSAP auditing organization in order to stay current with international regulatory standards, and retain its certifications. UTMD and Femcare have received CE Mark certifications (demonstrates proof of compliance with the European Community&#8217;s ISO standards) for all major products. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>SOURCES AND AVAILABILITY OF RAW MATERIALS</span></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:7.2pt'></kbd>Most of the components which the Company purchases from various vendors are available from a number of sources and in a number of locations worldwide. That notwithstanding, the Company maintains safety stocks that anticipate potential disruption to its supply chain from changes in government policies including tariffs, including the time required to source and qualify new vendors. &#160;Fortunately, given availability of its significant cash reserves, UTMD has had the financial ability to mitigate supply chain risk by carrying extra inventories during periods of increased uncertainty. &#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:7.2pt'></kbd>Alternative sourcing of various components is continually underway. &#160;Vendors are qualified by UTMD&#8217;s Quality Assurance. In the few cases where the Company has a sole source, it either maintains or has agreement with the supplier to maintain excess safety stocks that would cover the time required to develop and qualify a new source. The Company has a vendor quality monitoring program that includes routinely checking incoming material for conformance to specifications, as required per written procedures. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>U.S. EXPORTS</span></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:7.2pt'></kbd>UTMD regards the OUS marketplace as an important element of its growth strategy. UTMD is keenly aware that not only are OUS markets different from the U.S. market, but also that each country has its own set of driving influences that affects the dynamics of the nature of care given and medical devices used. &#160;The Company operates four OUS facilities; in Romsey, Hampshire, England; in Castle Hill, NSW, Australia; in Mississauga, Ontario, Canada and in Athlone, County Westmeath, Ireland. &#160;These facilities offer a number of advantages: 1) from a marketing point of view, better response to Europe, Asia, Africa and Australia customers, including a better understanding of customer needs, less costly distribution and, in the EU, duty-free access to 500 million patients; 2) from a regulatory point of view, faster new product introductions; and 3) from a manufacturing point of view, reduced dependence on one manufacturing site and increased capacity for meeting customer needs.&#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:7.2pt'></kbd>Total 2022 trade USD revenues from customers OUS were $20,310 (39% of total consolidated USD sales) compared to $18,395 (38% of total consolidated USD sales) in 2021 and $16,312 (39% of sales) in 2020. &#160;OUS trade sales (U.S. exports) from the U.S. to OUS customers were $4,256 in 2022, $3,994 in 2021 and $4,626 in 2020. &#160;U.S. exports represented 21%, 22% and 28% of total OUS trade sales in 2022, 2021 and 2020, respectively. &#160;The U.S. export numbers exclude Utah intercompany sales of components and finished devices to UTMD foreign subsidiaries, which then distribute Utah-made components and finished devices as part of their sales to OUS customers.&#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:7.2pt'></kbd>For sales by OUS geographic area, please see note 9 to the Consolidated Financial Statements.&#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'>13</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>BACKLOG</span></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:7.2pt'></kbd>Backlog is defined as orders received and accepted by UTMD which have not shipped yet. &#160;As a supplier of primarily disposable hospital products, the nature of UTMD&#8217;s non-distributor and non-OEM business requires fast response to customer orders. &#160;Virtually all direct shipments to end-user facilities are accomplished within a few days of acceptance of purchase orders. Consequently, UTMD&#8217;s backlog at any point in time is comprised mainly of orders from OEM and independent distributors, which purchase in larger quantities, at less frequent intervals with fluctuating order patterns. Backlog shippable in less than 90 days was $5,605 as of January 1, 2023 compared to $4,956 as of January 1, 2022 and $3,008 as of January 1, 2021. &#160;&#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>SEASONAL ASPECTS</span></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:7.2pt'></kbd>The Company's business is generally not affected by seasonal factors, but it is affected by uneven purchasing patterns of OEM customers and independent distributors.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>PRODUCT LIABILITY RISK MANAGEMENT</span></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:7.2pt'></kbd>The risk of product liability lawsuits is a negative factor in the medical device industry because devices are frequently used in inherently risky situations to help clinicians achieve a more positive outcome than what might otherwise be the case. &#160;In any lawsuit against a company where an individual plaintiff claims to have suffered permanent physical injury, a possibility of a large award for damages exists whether or not a causal relationship exists. &#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:7.2pt'></kbd>UTMD is self-insured for product liability risk, and reserves funds against its current performance on an ongoing basis to provide for its costs of defense should any lawsuits be filed. UTMD was named as a defendant on six product liability lawsuits over the time span of the last twenty-nine years, excluding the Filshie Clip System acquired eleven years ago. Four of the six lawsuits involved a patient injury related to operative vaginal deliveries where a UTMD VAD birthing cup or hand pump was used. The VADS devices in all four cases did conform to specifications. UTMD was ultimately dismissed as a defendant in all four VADS lawsuits, and legal costs were not material to performance. In a fifth lawsuit, regarding the use of EndoCurette, there was no evidence of patient injury. The lawsuit was settled in 2010 for an immaterial amount to avoid the diversion of management time and substantial costs of litigation, even though UTMD was confident that the case was without merit. In a sixth, UTMD was brought into the lawsuit by a defendant physician, speculating a design deficiency in a Finesse electrosurgical generator (ESU) which had been in use for eighteen years before the injury event, and used successfully by the same physician in multiple procedures after the event. The injured patient did not allege any fault by UTMD. &#160;The case was settled in 2012 without any UTMD involvement or liability. &#160;The Company&#8217;s average cost of defense of the six lawsuits was $15/year, well below the deductible level of product liability insurance policies and hundreds of thousands of dollars less than product liability insurance premiums. &#160;The best defense the Company believes that it has is the consistent conformance to specifications of its proven safe and effective products. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'> &#160;&#160;After acquisition by UTMD in 2011 and prior to late 2021, there were three Filshie Clip System lawsuits, all of which were dismissed with prejudice prior to the conclusion of discovery. The average annual cost of those Filshie Clip System lawsuits since 2011 up to late 2021 was $7 per year (less than $25 per lawsuit to achieve resolution). However, in late 2021, Femcare was added as a defendant in a clip migration lawsuit in Texas, which has expanded to eleven other states with a total of fourteen lawsuits as plaintiffs&#8217; lawyers have sought to solicit and recruit claimants in other states. There is no basis for a claim of either a poor device design which was and remains approved by the U.S. FDA, and has remained the same since 1996 FDA approval for more than two decades of use, or no evidence of defective clips implanted in the patients who have filed complaints, or no lack of proper disclosure to physicians who are learned intermediaries. Filshie clips have been prescribed by knowledgeable physicians for decades, and implanted in millions of patients. The current lawsuits are currently in the early stages of discovery and have not been litigated yet. Although the cost of defense will be unusually high compared to UTMD&#8217;s historical average, the Company believes that the costs can be absorbed without a material impact on UTMD&#8217;s overall consolidated financial performance.</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>Other than Filshie Clip System claims, there have been no product liability lawsuits for any UTMD device during the last eleven years. &#160;Except for the six non-Filshie Clip System lawsuits described above, there have been no other product liability claims filed over the last 30 years after distribution and use of over 20 million UTMD critical care and surgical finished devices. &#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:7.2pt'></kbd>Since 1993, during which time over one hundred million finished devices and OEM components were manufactured and distributed by UTMD and its subsidiaries, there have been no adverse judgments resulting from a claim of defect in UTMD&#8217;s or its subsidiaries&#8217; designs or manufacture of products, or a fault in informational materials. &#160;Although it hasn&#8217;t happened in the past 44 years, a product liability lawsuit could result in significant legal expenses and a large award against the Company. In the current tort system, particularly in the U.S., meritless product liability cases do get filed where aggressive attorneys calculate that a company will find it cheaper to settle for what they consider a nominal amount in lieu of potentially substantial defense costs of discovery and going to court. &#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>14</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>FORWARD LOOKING INFORMATION </span></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:7.2pt'></kbd>This report contains certain forward-looking statements and information relating to the Company that are based on the beliefs of management as well as assumptions made by management based on information currently available. &#160;When used in this document, the words &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;project,&#8221; &#8220;estimate,&#8221; &#8220;expect,&#8221; &#8220;intend&#8221; and similar expressions, as they relate to the Company or its management, are intended to identify forward-looking statements. &#160;Such statements reflect the current view of the Company respecting future events and are subject to certain risks, uncertainties and assumptions, including the risks and uncertainties stated throughout the document. &#160;Although the Company has attempted to identify important factors that could cause the actual results to differ materially, there may be other factors that cause the forward statement not to come true as anticipated, believed, projected, expected, or intended. &#160;Should one or more of these risks or uncertainties materialize, or should underlying assumptions prove incorrect, actual results may differ materially from those described herein as anticipated, believed, projected, estimated, expected or intended. &#160;Financial estimates are subject to change and are not intended to be relied upon as predictions of future operating results, and the Company assumes no obligation to update or disclose revisions to those estimates.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a6'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 1A &#8211;&#160;RISK FACTORS</b></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Legislative or executive order healthcare interference in the United States</span> renders the U.S. medical device marketplace unpredictable. A fully government-run healthcare system would likely eliminate healthcare consumer choice as well as commercial incentives for innovation. &#160;Restrictions on &#8220;nonessential&#8221; medical procedures during a pandemic reduce the demand for certain of UTMD&#8217;s medical devices.</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><span style='border-bottom:1px solid #000000'>Increasing regulatory burdens, including premarketing approval delays, may result in significant loss of revenue, unpredictable costs and loss of management focus on developing and marketing products that improve the quality of healthcare: </span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>Thousands of small focused medical device manufacturers including UTMD that do not have the overhead structure that the few large medical device companies can afford are increasingly burdened with bureaucratic and underqualified regulator demands that are not reasonably related to assuring the safety or effectiveness of the devices that they provide. &#160;Premarketing submission administrative burdens, and substantial &#8220;user fees&#8221; or notified body review fees, represent a significant non-clinical and/or non-scientific barrier to new product introduction, resulting in lack of investment or delays to revenues from new or improved devices. &#160;The risks associated with such circumstances relate not only to substantial out-of-pocket costs, including potential litigation in millions of dollars, but also loss of business and a diversion of attention of key employees for an extended period of time from managing their normal responsibilities, particularly in new product development and routine quality assurance activities.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Group Purchasing Organizations (GPOs) in the U.S. add non-productive costs, weaken the Company&#8217;s marketing and sales efforts and cause lower revenues by restricting access: &#160;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>GPOs, theoretically acting as bargaining agents for member hospitals, but actually collecting revenues from the companies that they are negotiating with, have made a concerted effort to turn medical devices that convey special patient safety advantages and better health outcomes, like UTMD&#8217;s, into undifferentiated commodities. GPOs have been granted an antitrust exemption by the U.S. Congress. Otherwise, their business model based on &#8220;kickbacks&#8221; would be a violation of law. &#160;Despite rhetoric otherwise, these bureaucratic entities do not recognize or understand the overall cost of care as it relates to safety and effectiveness of devices, and they create a substantial administrative burden that is primarily driven by collection of their administrative fees.&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><span style='border-bottom:1px solid #000000'>The Company&#8217;s business strategy may not be successful in the future:</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:8.55pt'></kbd>As the level of complexity and uncertainty in the medical device industry increases, evidenced, for example, by the unpredictable and overly cumbersome regulatory environment, the Company&#8217;s views of the future and product/ market strategy may not yield financial results consistent with the past.&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><span style='border-bottom:1px solid #000000'>As the healthcare industry becomes increasingly bureaucratic it puts smaller companies like UTMD at a competitive disadvantage: &#160;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>An aging population is placing greater burdens on healthcare systems, particularly hospitals. The length of time and number of administrative steps required in adopting new products for use in hospitals has grown substantially in recent years. &#160;Smaller companies like UTMD typically do not have the administrative resources to deal with broad new administrative requirements, resulting in either loss of revenue or increased costs. &#160;As UTMD introduces new products it believes are safer and more effective, it may find itself excluded from certain clinical users because of the existence of long term supply agreements for preexisting products, particularly from competitors which offer hospitals a broader range of products and services. &#160;Restrictions used by hospital administrators to limit clinician involvement in device purchasing decisions makes communicating UTMD&#8217;s clinical advantages more difficult. &#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>15</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><span style='border-bottom:1px solid #000000'>A product liability lawsuit could result in significant legal expenses and a large award against the Company: </span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>UTMD&#8217;s devices are frequently used in inherently risky situations to help physicians achieve a more positive outcome than what might otherwise be the case. &#160;In any lawsuit where an individual plaintiff suffered permanent physical injury, the possibility of a large award for damages exists whether or not a causal relationship exists.&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><span style='border-bottom:1px solid #000000'>The Company&#8217;s reliance on third party distributors in some markets may result in less predictable revenues:</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>UTMD&#8217;s distributors have varying expertise in marketing and selling specialty medical devices. &#160;They also sell other devices that may result in less focus on the Company&#8217;s products. &#160;In some countries, notably China, Pakistan and India not subject to similarly rigorous standards, a distributor of UTMD&#8217;s products may eventually become a competitor with a cheaper but lower quality version of UTMD&#8217;s devices.&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><span style='border-bottom:1px solid #000000'>The loss of one or more key employees could negatively affect UTMD performance:</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>In a small company with limited resources, the distraction or loss of key personnel at any point in time may be disruptive to performance. &#160;The Company&#8217;s benefits programs are key to recruiting and retaining talented employees. &#160;An increase in UTMD&#8217;s employee healthcare plan costs, for example, may cause the Company to have to reduce coverages which in turn represents a risk to retaining key employees.&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><span style='border-bottom:1px solid #000000'>Fluctuations in foreign currencies relative to the USD can result in significant differences in period-to-period financial results:</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>Since a significant portion of UTMD&#8217;s sales are invoiced in foreign currencies and consolidated financial results are reported in USD terms, a stronger USD can have negative revenue effects. Conversely, a weaker USD would increase foreign subsidiary operating costs in USD terms. For the portion of sales to foreign entities made in fixed USD terms, a stronger USD makes the devices more expensive and weakens demand. &#160;For the portion invoiced in a foreign currency, not only USD-denominated sales are reduced, but also gross profits may be reduced because finished distributed devices and/or U.S. made raw materials and components are likely being purchased in fixed USD.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Trade restrictions and /or tariffs resulting from changing government trade policies have the potential to disrupt UTMD&#8217;s supply chain.</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Lack of predictability of a major OEM customer currently representing over 20% of UTMD&#8217;s sales.</span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>16</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a7'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 1B &#8211;&#160;UNRESOLVED STAFF COMMENTS</b></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>None</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a8'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 2 - PROPERTIES</b></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Office and Manufacturing Facilities.</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:7.2pt'></kbd>UTMD is a vertically integrated manufacturing company. &#160;Capabilities include silicone and plastics-forming operations including injection molding, insert and over-molding, thermoforming and extrusion; sensor production; manual and automated assembly of mechanical, electrical and electronic components; parts printing; various testing modalities; advanced packaging in clean room conditions; and a machine shop for mold making and fabrication of assembly tools and fixtures. &#160;Capabilities also include an R&amp;D laboratory for both electronic and chemical processes, software development resources, communications and computer systems networked real time OUS, and administrative offices.&#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:7.2pt'></kbd>UTMD owns all of its property and facilities with the exception of a long term lease with 10 years remaining on one section of its Midvale parking lot. As of the beginning of 2022, the Company's operations were located in 105,000 square feet of facilities in Midvale, Utah, a 77,000 square foot facility in Athlone, County Westmeath, Ireland, a 38,600 square foot facility in Romsey, Hampshire, England, a 3,200 square foot facility in Castle Hill NSW, Australia, and a 4,700 square foot facility in Mississauga, Ontario, Canada. &#160;Manufacturing is currently carried out primarily in the Utah and Ireland facilities. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a9'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 3 - LEGAL PROCEEDINGS</b></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:7.2pt'></kbd>The Company may be a party from time to time in litigation incidental to its business. Presently, except for the Filshie clip lawsuits by a single U.S. law firm, there is no litigation or threatened litigation. &#160;The Company does not expect the outcome of the Filshie clip litigation will be material to consolidated financial results. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a10'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 4 - MINE SAFETY DISCLOSURES</b></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:7.2pt'></kbd>None.&#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>17</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a11'></a><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART II</b></span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a12'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 5 - MARKET FOR REGISTRANT'S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES</b></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Market Information.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>UTMD's common stock trades on the NASDAQ Global Market (symbol:UTMD). &#160;The following table sets forth the high and low sales price information as reported by NASDAQ for the periods indicated:&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:0pt'> &#160;&#160;</kbd><kbd style='margin-left:31.5pt'></kbd> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr style='height:1pt'><td valign='top' style='width:29.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td colspan='4' valign='top' style='width:34.1%;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='4' valign='top' style='width:33.8%;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:29.12%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:3.14%;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.92%;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>High</span></p>
</td><td valign='top' style='width:3.14%;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.9%;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Low</span></p>
</td><td valign='top' style='width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:2.98%;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.92%;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>High</span></p>
</td><td valign='top' style='width:2.98%;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.92%;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Low</span></p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:29.12%'><p style='font:10pt Times New Roman;margin:0'>1st Quarter</p>
</td><td valign='top' style='background-color:#CCEEFF;width:3.14%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13.92%'><p style='font:10pt Times New Roman;margin:0'>102.99</p>
</td><td valign='top' style='background-color:#CCEEFF;width:3.14%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13.9%'><p style='font:10pt Times New Roman;margin:0'>85.46</p>
</td><td valign='top' style='background-color:#CCEEFF;width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13.92%'><p style='font:10pt Times New Roman;margin:0'>95.64</p>
</td><td valign='top' style='background-color:#CCEEFF;width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13.92%'><p style='font:10pt Times New Roman;margin:0'>82.18</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:29.12%'><p style='font:10pt Times New Roman;margin:0'>2nd Quarter</p>
</td><td valign='top' style='width:3.14%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.92%'><p style='font:10pt Times New Roman;margin:0'>91.99</p>
</td><td valign='top' style='width:3.14%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.9%'><p style='font:10pt Times New Roman;margin:0'>80.31</p>
</td><td valign='top' style='width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.92%'><p style='font:10pt Times New Roman;margin:0'>90.46</p>
</td><td valign='top' style='width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.92%'><p style='font:10pt Times New Roman;margin:0'>81.01</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:29.12%'><p style='font:10pt Times New Roman;margin:0'>3rd Quarter</p>
</td><td valign='top' style='background-color:#CCEEFF;width:3.14%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13.92%'><p style='font:10pt Times New Roman;margin:0'>97.03</p>
</td><td valign='top' style='background-color:#CCEEFF;width:3.14%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13.9%'><p style='font:10pt Times New Roman;margin:0'>80.10</p>
</td><td valign='top' style='background-color:#CCEEFF;width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13.92%'><p style='font:10pt Times New Roman;margin:0'>97.79</p>
</td><td valign='top' style='background-color:#CCEEFF;width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13.92%'><p style='font:10pt Times New Roman;margin:0'>84.60</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:29.12%'><p style='font:10pt Times New Roman;margin:0'>4th Quarter</p>
</td><td valign='top' style='width:3.14%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.92%'><p style='font:10pt Times New Roman;margin:0;text-align:justify'>109.50</p>
</td><td valign='top' style='width:3.14%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.9%'><p style='font:10pt Times New Roman;margin:0'>80.68</p>
</td><td valign='top' style='width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.92%'><p style='font:10pt Times New Roman;margin:0'>133.87</p>
</td><td valign='top' style='width:2.98%'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13.92%'><p style='font:10pt Times New Roman;margin:0'>88.29</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Stockholders.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>The number of beneficial stockholders of UTMD&#8217;s common stock as of March 5, 2023 was at least 2,000.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Dividends.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>The following sets forth cash dividends paid during the past two years:&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr style='height:1pt'><td valign='top' style='width:285.8pt'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Record Date</span></p>
</td><td valign='top' style='width:285.85pt'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Payable Date</span></p>
</td><td valign='top' style='width:119.1pt'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Per Share Amount</span></p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:285.8pt'><p style='font:10pt Times New Roman;margin:0'>December 15, 2020</p>
</td><td valign='top' style='background-color:#CCEEFF;width:285.85pt'><p style='font:10pt Times New Roman;margin:0'>January 5, 2021</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119.1pt'><p style='font:10pt Times New Roman;margin:0'>0.285</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:285.8pt'><p style='font:10pt Times New Roman;margin:0'>March 17, 2021</p>
</td><td valign='top' style='width:285.85pt'><p style='font:10pt Times New Roman;margin:0'>April 2, 2021</p>
</td><td valign='top' style='width:119.1pt'><p style='font:10pt Times New Roman;margin:0'>0.285</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:285.8pt'><p style='font:10pt Times New Roman;margin:0'>June 15, 2021</p>
</td><td valign='top' style='background-color:#CCEEFF;width:285.85pt'><p style='font:10pt Times New Roman;margin:0'>July 6, 2021</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119.1pt'><p style='font:10pt Times New Roman;margin:0'>0.285</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:285.8pt'><p style='font:10pt Times New Roman;margin:0'>September 16, 2021</p>
</td><td valign='top' style='width:285.85pt'><p style='font:10pt Times New Roman;margin:0'>October 5, 2021</p>
</td><td valign='top' style='width:119.1pt'><p style='font:10pt Times New Roman;margin:0'>0.285</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:285.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman'>December 15, 2021</span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:285.85pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman'>December 29, 2021</span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:119.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>2.000</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:285.8pt'><p style='font:10pt Times New Roman;margin:0'>March 18, 2022</p>
</td><td valign='top' style='width:285.85pt'><p style='font:10pt Times New Roman;margin:0'>April 5, 2022</p>
</td><td valign='top' style='width:119.1pt'><p style='font:10pt Times New Roman;margin:0'>0.290</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:285.8pt'><p style='font:10pt Times New Roman;margin:0'>June 17, 2022</p>
</td><td valign='top' style='background-color:#CCEEFF;width:285.85pt'><p style='font:10pt Times New Roman;margin:0'>July 6, 2022</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119.1pt'><p style='font:10pt Times New Roman;margin:0'>0.290</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:285.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>September 16, 2022</p>
</td><td valign='top' style='width:285.85pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>October 5, 2022</p>
</td><td valign='top' style='width:119.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>0.290</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:285.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:285.85pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119.1pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td></tr>
<tr style='height:1pt'><td colspan='2' valign='top' style='width:571.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021 total cash dividends paid per share</p>
</td><td valign='top' style='width:119.1pt'><p style='font:10pt Times New Roman;margin:0'>$ 3.140</p>
</td></tr>
<tr style='height:1pt'><td colspan='2' valign='top' style='background-color:#CCEEFF;width:571.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022 total cash dividends paid per share</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119.1pt'><p style='font:10pt Times New Roman;margin:0'>$ 0.870</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Issuer Purchases of Equity Securities.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>UTMD purchased 30,105 shares of its common stock for $2,495 including commissions and fees in second quarter 2022. &#160;UTMD did not purchase any of its own securities in 2021. &#160;&#160;&#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>18</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a24'></a><a id='a13'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 6 - RESERVED</b></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'>19</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a14'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 7 - MANAGEMENT'S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</b> </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-align:justify'>Currency amounts are in thousands except per-share amounts and where noted. &#160;Currencies are abbreviated as follows: the U.S. Dollar (USD or $), the Great Britain Pound (GBP or &#163;), the Euro (EUR or &#8364;), the Australian Dollar (AUD or A$), the New Zealand Dollar (NZD) and the Canadian Dollar (CAD or C$).</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The following comments should be read in conjunction with the accompanying financial statements. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Overview</span>.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>The 2022-year financial results demonstrate Utah Medical Products, Inc.&#8217;s (Nasdaq: UTMD&#8217;s) continuing excellent operating performance despite many challenges related to supply chain disruption, high input cost inflation as well as a continued shortage of labor with higher employee turnover. The Company exceeded its beginning of year financial projections for 2022.&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:184.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'><span style='border-bottom:1px solid #000000'>Consolidated Income Statement</span></p>
</td><td valign='top' style='width:80.25pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:106.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>2022 Compared to 2021</span></p>
</td><td valign='top' style='width:106.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:184.95pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Worldwide Revenues</p>
</td><td valign='top' style='background-color:#CCEEFF;width:80.25pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$ 52,281</p>
</td><td valign='top' style='background-color:#CCEEFF;width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+6.6%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$ 49,054</p>
</td></tr>
<tr><td valign='top' style='width:184.95pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Gross Profit</p>
</td><td valign='top' style='width:80.25pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> &#160;32,196</p>
</td><td valign='top' style='width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+4.1%</p>
</td><td valign='top' style='width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> &#160;30,917</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:184.95pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Operating Income</p>
</td><td valign='top' style='background-color:#CCEEFF;width:80.25pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> &#160;19,790</p>
</td><td valign='top' style='background-color:#CCEEFF;width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+4.8%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> &#160;18,880</p>
</td></tr>
<tr><td valign='top' style='width:184.95pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Earnings Before Income Tax</p>
</td><td valign='top' style='width:80.25pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> &#160;20,659</p>
</td><td valign='top' style='width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+8.4%</p>
</td><td valign='top' style='width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> &#160;19,061</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:184.95pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Net Income (US GAAP)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:80.25pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> &#160;16,473</p>
</td><td valign='top' style='background-color:#CCEEFF;width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+11.4%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> &#160;14,788</p>
</td></tr>
<tr><td valign='top' style='width:184.95pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Earnings Per Share (US GAAP)</p>
</td><td valign='top' style='width:80.25pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> $ 4.522</p>
</td><td valign='top' style='width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+11.9%</p>
</td><td valign='top' style='width:106.4pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'> $ 4.041</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt'><kbd style='margin-left:9pt'></kbd>For perspective, 25% of UTMD&#8217;s total USD consolidated worldwide revenues (sales) were invoiced in foreign currencies. Translating 2022 foreign currency sales into USD at the same exchange rates as in 2021 (&#8220;constant currency&#8221; sales) would have resulted in a 9.5% increase in 2022 worldwide revenues, with an 18.2% increase in sales outside the U.S. (OUS). &#160;In other words, constant currency 2022 worldwide revenues were $53,715. &#160;&#160;&#160;</p>
<p style='font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt'><kbd style='margin-left:9pt'></kbd>Although UTMD&#8217;s sales in 2022 were helped by an approximate 7% average increase in UTMD unit prices, costs of manufacturing increased more than that, resulting in a lower gross profit margin (GPM). &#160;Despite an unusual litigation expense year, with better absorption of fixed USD operating costs, notably amortization of identifiable intangible assets, and, in this case, a favorable foreign currency exchange (FX) impact on OUS expenses, UTMD&#8217;s Operating Income Margin was less diluted than its GPM. &#160;Combined with Operating Income, higher non-operating income, predominantly from interest on cash balances, leveraged the increase in Earnings Before Income Tax (EBT) to be greater than UTMD&#8217;s increase in revenues. &#160;&#160;&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;margin-right:-6.3pt'><kbd style='margin-left:9pt'></kbd>The further leverage in bottom line results (Net Income and Earnings Per Share) compared to 2021, was the result of an unfavorable adjustment in UTMD&#8217;s income tax provision in the prior year, which was not related to normal operations. According to U.S. Generally Accepted Accounting Principles (US GAAP), Net Income in 2Q 2021 was <span style='border-bottom:1px solid #000000'>decreased</span> $390 ($.107 decrease in EPS) by a long term deferred tax liability increase on the balance of Femcare intangible assets (the amortization of which is not tax-deductible in the UK) as a result of an enacted increase in the UK income tax rate from 19% to 25% effective beginning in April 2023. &#160;That is, the 2021 $390 increase in deferred UK taxes from 2023 through 2026, according to US GAAP, had to be booked in the quarter in which the tax law change was enacted. &#160;UTMD management believes that the presentation of results excluding the unfavorable deferred tax liability adjustment to 2021 Net Income provides meaningful supplemental information to both management and investors that is more clearly indicative of UTMD&#8217;s operating results in 2022 compared to 2021. &#160;Please note that the non-US GAAP exclusion <span style='border-bottom:1px solid #000000'>only</span> affects Net Income and Earnings Per Share (EPS). &#160;All other income statement categories at and above the EBT line were unaffected by the UK income tax rate adjustment.&#160;</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:2pt;text-indent:9pt'>Excluding the 2021 deferred tax liability increase and concomitant 2021 income tax provision increase resulting from the enactment of the UK corporate income tax change, UTMD&#8217;s 2022 non-US GAAP Net Income and Earnings Per Share (EPS) percentage changes are more modest and consistent with its increase in EBT, as follows:</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:163.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'><span style='border-bottom:1px solid #000000'>Consolidated Income Statement</span></p>
</td><td valign='top' style='width:70.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:133.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>2022 Compared to 2021</span></p>
</td><td valign='top' style='width:94pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:163.35pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Net Income (Non-US GAAP)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.9pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$16,473</p>
</td><td valign='top' style='background-color:#CCEEFF;width:133.9pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+8.5%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:94pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$15,178</p>
</td></tr>
<tr><td valign='top' style='width:163.35pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>EPS &#160;(Non-US GAAP)</p>
</td><td valign='top' style='width:70.9pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$4.522</p>
</td><td valign='top' style='width:133.9pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+9.0%</p>
</td><td valign='top' style='width:94pt;border:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$4.147</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:9pt'></kbd>Key profit margins (profits as a percentage of sales) in 2022 compared to 2021 follow:&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:258.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:258.5pt'><p style='font:10pt Times New Roman;margin:0'>Gross Profit Margin (GPM)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>61.6%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>63.0%</p>
</td></tr>
<tr><td valign='top' style='width:258.5pt'><p style='font:10pt Times New Roman;margin:0'>Operating Income Margin</p>
</td><td valign='top' style='width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>37.9%</p>
</td><td valign='top' style='width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>38.5%</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:258.5pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>Income Before Tax Margin</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.85pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>39.5%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.85pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>38.9%</p>
</td></tr>
<tr><td valign='top' style='width:258.5pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><i>Net Income Margin before  tax adjusts</i></p>
</td><td valign='top' style='width:143.85pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><i>31.5%</i></p>
</td><td valign='top' style='width:143.85pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><i>30.9%</i></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:258.5pt'><p style='font:10pt Times New Roman;margin:0'>Net Income Margin per US GAAP</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>31.5%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>30.1%</p>
</td></tr>
<tr><td valign='top' style='width:258.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:143.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#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:7.2pt'></kbd>Measures of the Company&#8217;s liquidity and overall financial condition improved as of the end of 2022 compared to the end of 2021 with year-end working capital up 21% and Stockholders&#8217; Equity up 7% despite $3,163 in dividends paid to stockholders and $2,495 in share repurchases during 2022 which reduced both cash and Stockholders&#8217; Equity by $5,658. &#160;The improvement was the result of continued strong positive cash flow from normal operations. &#160;In comparison, UTMD paid $11,465 in stockholder cash dividends in 2021, with no share purchases. &#160;The Company also used $809 in cash in 2022 along with $552 in 2021 to invest in new manufacturing equipment and fixtures, as well as maintaining existing Property, Plant and Equipment (PP&amp;E) in good working order. &#160;The two-year capital expenditures exceeded depreciation by $113. &#160;&#160;&#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:7.2pt'></kbd>More specifically, UTMD&#8217;s cash equivalent balances at the end of 2022 increased $14,077 to $75,052 from $60,974 at the end of 2021. &#160;Working capital increased $14,546 to $83,959 at the end of 2022 from $69,412 at the end of 2021. &#160;Total liabilities increased $1,121 despite an $1,010 reduction in UTMD&#8217;s deferred tax liability and long-tern Repatriation Tax liability, primarily because of the early dividend payment in 4Q 2021. The Company remained without debt. &#160;UTMD&#8217;s total debt ratio (total liabilities to total assets) was 8% at the end of 2022 compared to 7% at the end of 2021. &#160;Stockholders&#8217; Equity at the end of 2022 increased to $114,254 from $107,138 at the end of 2021, despite the aforementioned $5,658 in 2022 cash dividends and share repurchases which reduced Stockholders&#8217; Equity. &#160;&#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'>20</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Productivity of Fixed Assets and Working Capital Assets</span>. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Assets</span>.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Year-end 2022 total consolidated assets were $123,874 comprised of $89,919 in current assets, $10,619 in consolidated net PP&amp;E and $23,336 in net intangible assets. &#160;This compares to $115,636 total assets at the end of 2021 comprised of $73,158 in current assets, $11,067 in consolidated net PP&amp;E and $31,412 in net intangible assets. Total asset turns (total consolidated sales divided by average total assets for the year) in 2022 were 44% compared to 43% in 2021, as sales increased slightly faster than the increase in average assets. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:9.35pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'> &#160;&#160;&#160;Current assets increased $16,761 due to the $14,077 increase in year-end cash and investments, $407 higher accounts and other receivables, $2,217 higher year-end inventories and $59 higher other current assets, due to the higher sales activity and higher raw materials purchases relative to demand. Year-end 2022 and 2021 cash and investment balances were $75,052 and $60,974, representing 61% and 53% of total assets, respectively. &#160;Net (after allowance for doubtful accounts) year-end trade accounts receivable (A/R) balances were $407 higher at the end of 2022 compared to 2021 due to 4Q 2022 sales $661 higher than in 4Q 2021, and average days in A/R of 37 days based on 4Q trade sales instead of 36 days at the end of 2021. &#160;Average days in A/R from date of invoice of 37 days is well within UTMD&#8217;s objective. A/R over 90 days from invoice date rose from 2.4% of total A/R at the end of 2021 to 4.2% at the end of 2022. &#160;The Company believes any older A/R will be collected or are within its reserve balances for uncollectible amounts. &#160;Inventories at 2022 year-end were 34% higher from the end of 2021.</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:9pt'></kbd>Working capital (current assets minus current liabilities) at year-end 2022 was 21% higher at $83,959 compared to $69,412 at year-end 2021. &#160;Consistent with Federal and State rules, the TCJA repatriation tax current liability at the end of 2022 was $419 compared to $220 at the end of 2021. &#160;The end of 2022 working capital exceeds UTMD&#8217;s needs for normal operations in an uncertain economic environment, funding of future organic growth and timely payment of accrued tax liabilities, in addition to allowing for substantial funding of any future acquisition without diluting stockholder interest, as well as continued payment of stockholder dividends and repurchase of UTMD shares. Despite a negative impact on Return on Stockholders&#8217; Equity of retaining a high cash balance, UTMD believes that in times of high economic uncertainty and change, maintaining substantial cash balances increases its likelihood of being able to take advantage of opportunities that will benefit stockholders in the longer term, and retain key resources that will help ensure continued excellent long term performance. &#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:9pt'></kbd>December 31, 2022 net $10,619 total PP&amp;E includes Utah, Ireland and England manufacturing molds, production tooling and equipment, test equipment, and product development laboratory equipment. &#160;In addition, PP&amp;E includes computers and software, warehouse equipment, furniture and fixtures, facilities and real estate for all five locations in Utah, Ireland, UK, Canada and Australia. &#160;Manufacturing facilities in Utah, Ireland and the UK are standalone buildings with a combined 220,000 square feet on 15 acres of land. &#160;The distribution facilities in Australia and Canada with a combined 8,000 square feet are part of larger industrial condominiums. &#160;Management estimates the fair market value of the five owned facilities to be at least $35 million excluding the contents, the fungible value of which increases stockholder enterprise value relative to most of UTMD&#8217;s industry peers which lease their facilities.&#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:9pt'></kbd>Ending 2022 net consolidated PP&amp;E (depreciated book value of all fixed assets) declined $448 as a result of the combination of capital expenditures of $809, depreciation of $612 and the effect of foreign currency exchange (FX) rates on year-end foreign subsidiary asset balances. &#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:9pt'></kbd>The following end-of-year FX rates to USD were applied to assets and liabilities of each applicable foreign subsidiary:&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:195.4pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-113.4pt;margin-right:-0.9pt;text-align:right'><span style='border-bottom:1px solid #000000'>12-31-22</span></p>
</td><td valign='top' style='width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-180.9pt;text-align:right'><span style='border-bottom:1px solid #000000'>12-31-21</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:195.4pt'><p style='font:10pt Times New Roman;margin:0'>EUR</p>
</td><td valign='top' style='background-color:#CCEEFF;width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-113.4pt;text-align:right'>1.0694</p>
</td><td valign='top' style='background-color:#CCEEFF;width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-180.9pt;text-align:right'>1.1377</p>
</td></tr>
<tr><td valign='top' style='width:195.4pt'><p style='font:10pt Times New Roman;margin:0'>GBP</p>
</td><td valign='top' style='width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-113.4pt;text-align:right'>1.2077</p>
</td><td valign='top' style='width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-180.9pt;text-align:right'>1.3536</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:195.4pt'><p style='font:10pt Times New Roman;margin:0'>AUD</p>
</td><td valign='top' style='background-color:#CCEEFF;width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-113.4pt;text-align:right'>0.6805</p>
</td><td valign='top' style='background-color:#CCEEFF;width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-180.9pt;text-align:right'>0.7268</p>
</td></tr>
<tr><td valign='top' style='width:195.4pt'><p style='font:10pt Times New Roman;margin:0'>CAD</p>
</td><td valign='top' style='width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-113.4pt;text-align:right'>0.7390</p>
</td><td valign='top' style='width:247.3pt'><p style='font:10pt Times New Roman;margin:0;margin-left:-180.9pt;text-align:right'>0.7902</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#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:9pt'></kbd>The year-end 2022 net book value (after accumulated depreciation) of consolidated PP&amp;E was 31% of purchase cost. &#160;End-of-year PP&amp;E turns (Net Sales divided by Net PP&amp;E) was 4.9 in 2022 compared to 4.4 in 2021 due to 7% higher 2022 sales and lower USD asset values of foreign subsidiaries, offset by investment in new PP&amp;E assets needed for the future which are not in use yet. &#160;A future leverage in productivity of fixed assets which will not have to be further increased to support new business activity will be a source of continued incremental profitability. &#160;&#160;&#160;&#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'>21</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'> &#160; &#160;Net intangible assets (after accumulated amortization) are comprised of the capitalized costs of obtaining patents and other intellectual property, as well as the value of identifiable intangible assets (IIA) and goodwill resulting from acquisitions. Net intangible assets were $23,337 (19% of total assets) at the end of 2022 compared to $31,412 (27% of total assets) at the end of 2021. &#160;Per US GAAP, intangible assets are categorized as either 1) IIA, which are amortized over the estimated useful life of the assets, or 2) goodwill, which is not amortized or expensed until the associated economic value of the acquired asset becomes impaired. Those two categories of Femcare intangibles at year-end 2022 were net IIA of $6,168 and goodwill of $6,163. The accumulated amortization of Femcare IIA as of December 31, 2022 since the March 18, 2011 acquisition was $22,814. The remaining Femcare IIA will be fully amortized in 3 more years. The goodwill portion of intangible assets resulting from the Femcare acquisition, which is not amortized, declined $744 due to a weaker GBP at year-end, i.e. the different FX rate on fixed goodwill in GBP terms. In early 2019, UTMD acquired an additional $21,000 IIA from the purchase of the remaining life of exclusive U.S. distribution rights for the Filshie Clip System from CSI, of which $17,316 has been amortized through year-end 2022. &#160;The remaining CSI IIA will be fully amortized in 4Q 2023. &#160;UTMD&#8217;s goodwill balance from prior acquisitions including Femcare, Columbia Medical, Gesco and Abcorp was $13,354 at the end of 2022.</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:9pt'></kbd>Because the products associated with UTMD&#8217;s acquisitions of Columbia Medical in 1997, Gesco in 1998, Abcorp in 2004 and Femcare in 2011 continue to be viable parts of UTMD&#8217;s overall business, UTMD does not expect the current goodwill value associated with the four acquisitions to become impaired in 2023. Amortization of IIA was $6,417 in 2022 compared to $6,645 in 2021. The difference was due to &#163;1 lower Femcare IIA amortization and the GBP FX difference on all Femcare IIA amortization. Specifically, the 2022 non-cash amortization expense of Femcare IIA was $1,965 (&#163;1,589) compared to $2,189 (&#163;1,590) in 2021. &#160;The 2023 non-cash amortization expense (included as part of consolidated G&amp;A operating expenses) of Femcare IIA will be &#163;1,589, or $1,923 if the USD/GBP average FX rate is 1.21. &#160;In other words, the 2023 Femcare IIA amortization expense is expected to be about $42 lower because of an average projected weaker GBP relative to the USD. Both the 2022 and 2021 non-cash amortization expense of CSI IIA was $4,421. The 2023 operating expense resulting from final full amortization of CSI IIA will be $3,684. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Liabilities</span>. </p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>As a reminder, payments for the Federal and State repatriation (REPAT) tax liability which resulted from the U.S. TCJA enacted in 2017 were 8% of the respective tax liability per year for the first five years, and will be 15% in the sixth year, 20% in the seventh year and 25% in the eighth year. &#160;UTMD&#8217;s total REPAT tax liability was $2,792. &#160;Calendar year 2023 represents the sixth year, so $419 is the current liability at 15% of the total liability, and $1,256 is the long term REPAT tax liability to be paid in years 2024-2025, representing the remaining 45%. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'> &#160;Year-end 2022 current liabilities were $2,214 higher than at the end of 2021. Ending accrued liabilities were $1,558 higher due primarily to $398 higher OEM customer deposits and an accrued stockholder dividend payable. The $1,070 stockholder dividend declared in 4Q 2022 was paid in January 2023, whereas the $7,309 dividend declared in 4Q 2021 was paid in December 2021. Total liabilities were $1,121 higher at the end of 2022 compared to the end of 2021. The resulting 2022 year-end total debt ratio was 8% compared to 7% at the end of 2021. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'> &#160;The year-end 2022 Deferred Tax Liability balance created as a result of the fifteen-year deferred tax consequence of the amortization of Femcare&#8217;s IIA was $1,513, down from $2,105 at the end of 2021. The difference in the $592 decline compared to the $416 tax effect of 19% (2022 UK tax rate) times $2,189 in 2022 amortization of IIA was due to the &#160;difference in the GBP FX rate on the remaining DTL balance at the end of 2022 as well as the USD/GBP currency exchange conversion of the IIA amortization during 2022. In addition to liabilities stated on the balance sheet, UTMD has operating lease and purchase obligations described in Note 14 and Note 12, respectively, to the financial statements. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Results of Operations</span>.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:9pt'>a)</kbd><kbd style='margin-left:21.3pt'></kbd><span style='border-bottom:1px solid #000000'>Revenues</span>. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Under accounting standards applicable for 2022, the Company believed that revenue should be recognized at the time of shipment as title generally passes to the customer at the time of shipment, or completion of services performed under contract. &#160;Revenue recognized by UTMD is based upon documented arrangements and fixed contracts in which the selling price is fixed prior to acceptance and completion of an order. &#160;Revenue from product or service sales is generally recognized at the time the product is shipped or service completed and invoiced, and collectability is reasonably assured. &#160;Over 99% of UTMD&#8217;s revenue is recognized at the time UTMD ships a physical device to a customer&#8217;s designated location, where the selling price for the item shipped was agreed prior to UTMD&#8217;s acceptance and completion of the customer order. There are no post-shipment obligations which have been or are expected to be material to financial results. &#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'>22</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:10.8pt'></kbd>There are circumstances under which revenue may be recognized when product is not shipped, which have met the criteria of ASC 606: &#160;the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for other companies. &#160;This revenue is recognized when UTMD&#8217;s service has been completed according to a fixed contractual agreement.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'> &#160;&#160;Terms of sale are established in advance of UTMD&#8217;s acceptance of customer orders. In the U.S., Ireland, UK, France, Australia and Canada since the beginning of 2017, UTMD has generally accepted orders directly from and shipped directly to end-user clinical facilities, as well as third party medical/surgical distributors, under UTMD&#8217;s Standard Terms and Conditions (T&amp;C) of Sale. About 14% of UTMD&#8217;s domestic end-user sales went through third party med/surg distributors which contract separately with clinical facilities to provide purchasing, storage and scheduled delivery functions for the applicable facility. &#160;UTMD&#8217;s T&amp;C of Sale to end-user medical facilities are substantially the same in the U.S., Canada, Ireland, UK, France, Australia and New Zealand.</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:9pt'></kbd>UTMD may allow separate discounted pricing agreements with a specific clinical facility or group of affiliated facilities based on volume of purchases. &#160;Pricing agreements which are documented arrangements with clinical facilities, or groups of affiliated facilities, if applicable, are established in advance of orders accepted or shipments made. &#160;For existing customers, past actual shipment volumes typically determine the fixed price by part number for the next agreement period. For new customers, the customer&#8217;s best estimate of volume is usually accepted by UTMD for determining the ensuing fixed prices for the agreement period. Prices are not adjusted after an order is accepted. For the sake of clarity, the separate pricing agreements with clinical facilities based on volume of purchases disclosure is not inconsistent with UTMD&#8217;s disclosure above that the selling price is fixed prior to the acceptance of a specific customer order. &#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:7.1pt'></kbd>UTMD&#8217;s global consolidated trade sales are comprised of domestic and OUS sales. Domestic sales in 2022 included 1) direct domestic sales, sales of finished devices to end-user facilities and med/surg distributors in the U.S., and 2) domestic OEM sales, sales of components or finished products, which may not be medical devices, to other companies for inclusion in their products. &#160;OUS sales are export sales from UTMD in the U.S. to customers outside the U.S. invoiced in USD, and sales from UTMD subsidiaries in Ireland, Canada, Australia and the UK which may be invoiced in EUR, GBP, CAD, AUD, NZD or USD. &#160;The term &#8220;trade&#8221; means sales to customers which are not part of UTMD. Each UTMD manufacturing entity had 2022 intercompany sales of components and/or finished devices to other UTMD entities.&#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:7.1pt'></kbd>The following table shows the 2022 USD-denominated revenues by sales channel compared to 2021. &#160;Because domestic sales in foreign countries were invoiced in native currencies, the comparison in USD terms includes the change in foreign currency translation (FX) rates. In other words, just the FX rate relative to the USD in 2022 compared to 2021, reduced Canada domestic sales by 3.7%, Ireland domestic sales by 11.1%, UK domestic sales by 10.7%, France domestic sales by 10.9% and Australia/NZ domestic sales by 7.7%.&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:261.4pt'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'><span style='border-bottom:1px solid #000000'>Revenue [USD denominated]</span></p>
</td><td valign='top' style='width:143.05pt'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:143.15pt'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>2022 Compared to 2021</span></p>
</td><td valign='top' style='width:143.15pt'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:261.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>U.S. domestic &#160;(excluding OEM)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$21,087</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>-</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$21,096</p>
</td></tr>
<tr><td valign='top' style='width:261.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Canada domestic</p>
</td><td valign='top' style='width:143.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>1,294</p>
</td><td valign='top' style='width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>(6.4%)</p>
</td><td valign='top' style='width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>1,382</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:261.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Ireland domestic</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>445</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>-</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>446</p>
</td></tr>
<tr><td valign='top' style='width:261.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>UK domestic</p>
</td><td valign='top' style='width:143.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>2,748</p>
</td><td valign='top' style='width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+15.1%</p>
</td><td valign='top' style='width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>2,388</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:261.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>France domestic</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>1,235</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>(13.3%)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>1,424</p>
</td></tr>
<tr><td valign='top' style='width:261.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>Australia domestic</p>
</td><td valign='top' style='width:143.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>1,267</span></p>
</td><td valign='top' style='width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>(25.7%)</span></p>
</td><td valign='top' style='width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>1,705</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:261.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:right'>Subtotal, Direct to End-User:</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$28,076</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>(1.3%)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$28,441</p>
</td></tr>
<tr><td valign='top' style='width:261.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:right'>&#160;</p>
</td><td valign='top' style='width:143.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>&#160;</p>
</td><td valign='top' style='width:143.15pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>&#160;</p>
</td><td valign='top' style='width:143.15pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:261.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>All Other OUS (Sales to Int&#8217;l Distributors)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>13,321</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+20.6%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>11,050</p>
</td></tr>
<tr><td valign='top' style='width:261.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>U.S. OEM Sales</p>
</td><td valign='top' style='width:143.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>10,884</span></p>
</td><td valign='top' style='width:143.15pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>+13.8%</span></p>
</td><td valign='top' style='width:143.15pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'><span style='border-bottom:1px solid #000000'>9,563</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:261.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:right'>Worldwide Revenues</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$52,281</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>+6.6%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:143.15pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center'>$49,054</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'> &#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:9pt'></kbd>In summary, UTMD total worldwide (WW) consolidated USD sales in 2022 at $52,281 were almost 7% higher than in 2021 at $49,054. &#160;But direct sales OUS in foreign currencies were substantially reduced in USD terms by a stronger USD. Total U.S. domestic sales including OEM were up $1,312 (+4.3%) in 2022 at $31,971 compared to $30,659 in 2021. OUS sales including sales to foreign distributors were up $1,916 (+10.4%) at $20,311 compared to $18,395 in 2021. &#160;Constant currency OUS sales were up 18.2%. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Domestic Sales</span>.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>U.S. domestic sales in 2022 were 4.3% higher at $31,971 (61% of total sales) compared to $30,659 (63% of total sales) in 2021. Components of the $1,312 higher 2022 domestic sales were $857 (14.0%) lower sales of the Filshie Clip System devices in the U.S., $1,321 (+13.8%) higher sales of components and finished devices used in other companies&#8217; products (OEM customers), and $848 (+5.7%) higher direct sales of all other UTMD (non-Filshie) finished devices to domestic end-users.&#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'>23</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Domestic Filshie Clip System sales in 2022 were 16% of total U.S. domestic sales compared to 20% in 2021. &#160;Filshie sales have not recovered as well as the other domestic sales categories since the COVID-19 pandemic. &#160;Looking forward to 2023, there remains a medical procedure trend in the U.S. to choose salpingectomy versus tubal ligation for permanent contraception post C-Section. Despite this, UTMD expects U.S. Filshie device sales in 2023 will remain about the same as in 2022. &#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:9pt'></kbd>Domestic OEM sales in 2022 were 34% of total U.S. domestic sales compared to 31% in 2021. &#160;UTMD sold components and finished devices to 146 different U.S. companies in 2022 compared to 155 different companies in 2021, for use in their product-market offerings. &#160;Sales to UTMD&#8217;s largest OEM customer represented 83% of total domestic OEM sales in 2022 compared to 82% of total domestic OEM sales in 2021. UTMD&#8217;s largest OEM customer markets biopharmaceutical manufacturing control systems which exclusively utilize UTMD&#8217;s pressure monitoring technology, and for which demand continued to be strong. Looking forward to 2023, UTMD expects demand for biopharmaceutical control systems to diminish relative to the recent past.&#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:9pt'></kbd>Domestic direct end-user sales <span style='border-bottom:1px solid #000000'>excluding</span> the Filshie Clip System (as well as OEM sales) were 50% of total U.S. domestic sales in 2022 compared to 49% in 2021. &#160;Of UTMD&#8217;s four domestic direct product categories, neonatal products were $707 higher (+13%), labor &amp; delivery (L&amp;D) products were $45 higher (+1%), gynecology/ electrosurgery/ urology products excluding the Filshie Clip System were $155 higher (+3%), and blood pressure monitoring devices were $59 lower (7%). &#160;UTMD expects 2023 domestic direct sales of its well-established devices to increase at a low single-digit percentage rate. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>OUS Sales</span>.</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-6.25pt'><kbd style='margin-left:9pt'></kbd>Sales OUS in 2022 in USD terms were $20,310 (10.4% higher) compared to $18,395 in 2021. &#160;Using the same FX rates as in 2021 (&#8220;constant currency&#8221;), 2022 OUS sales were $21,744 (18.2% higher).&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-6.25pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Because a significant portion of UTMD&#8217;s OUS sales are invoiced in foreign currencies, changes in FX rates can potentially have a material effect on period-to-period USD-denominated sales. UTMD&#8217;s FX rates for income statement purposes are transaction-weighted averages. The average rates from the applicable foreign currency to USD during 2022 compared to 2021 follow.&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:49.78%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Change</span></p>
</td><td valign='top' style='width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:49.78%'><p style='font:10pt Times New Roman;margin:0'>GBP</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>1.229</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(10.7%)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>1.376</p>
</td></tr>
<tr><td valign='top' style='width:49.78%'><p style='font:10pt Times New Roman;margin:0'>EUR</p>
</td><td valign='top' style='width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>1.052</p>
</td><td valign='top' style='width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(11.1%)</p>
</td><td valign='top' style='width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>1.183</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:49.78%'><p style='font:10pt Times New Roman;margin:0'>AUD</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>0.693</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(7.7%)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>0.751</p>
</td></tr>
<tr><td valign='top' style='width:49.78%'><p style='font:10pt Times New Roman;margin:0'>CAD</p>
</td><td valign='top' style='width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>0.768</p>
</td><td valign='top' style='width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'> (3.7%)</p>
</td><td valign='top' style='width:16.74%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>0.798</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-6.25pt'><kbd style='margin-left:9pt'></kbd>The total foreign sales-weighted FX rate change impact on 2022 sales compared to 2021 was (9.9%). &#160;In other words, consolidated USD sales in 2022 were reduced $1,433 from what they would have been using the prior year&#8217;s FX rates.&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-6.25pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-6.25pt'><kbd style='margin-left:9pt'></kbd>Sixty-four percent of (USD denominated) 2022 OUS sales were invoiced in foreign currencies compared to 72% in 2021. As a portion of total USD WW consolidated sales, 25% of UTMD&#8217;s USD-equivalent sales were invoiced in foreign currencies in 2022 compared to 27% in 2021. The GBP, EUR, AUD and CAD converted sales represented 6%, 14%, 2% and 3% of total 2022 USD sales, respectively. &#160;This compares to 6%, 15%, 3% and 3% of total 2021 USD sales. &#160;&#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:9pt'></kbd>USD-denominated trade (excludes intercompany) sales of devices to OUS customers (excluding France) by UTMD&#8217;s Ireland facility (UTMD Ltd) were $9,478 in 2022 (27% higher despite an 11% weaker EUR) compared to $7,439 in 2021. &#160;In addition, UTMD Ltd also sold devices that it had manufactured directly to France in 2022 due to BREXIT, which earlier were sold to Femcare Ltd in the UK on an intercompany basis and then sold by Femcare Ltd directly to French medical facilities. USD-denominated sales to France in 2022 were $1,235 (13% lower with an 11% lower EUR) compared to $1,424 in 2021. Some sales, mostly to Northern Ireland, were invoiced in GBP which was also 11% lower in 2022 compared to the 2021 USD. &#160;The total FX rate change reduced Ireland&#8217;s USD-denominated sales by $897. &#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:9pt'></kbd>In 2022, UTMD&#8217;s UK subsidiary, Femcare Ltd., had $2,781 trade sales of devices to domestic UK and certain international distributor customers, 13% higher (despite an 11% weaker GBP) compared to $2,451 in 2021. The total FX rate change reduced the UK&#8217;s USD-denominated sales by $381. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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'>24</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>USD-denominated sales of devices to end-users in Australia and New Zealand by Femcare&#8217;s Australia distribution subsidiary (Femcare Australia Pty Ltd) were $1,267 (26% lower with an 8% lower AUD) in 2022 compared to $1,705 in 2021. &#160;The weaker AUD in 2022 reduced USD-denominated Australia sales by $105. &#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:9pt'></kbd>UTMD&#8217;s Canada distribution subsidiary (Utah Medical Products Canada, Inc.) USD-denominated sales of devices to end-users in Canada were $1,294 (6% lower with a 4% lower CAD) compared to $1,382 in 2021. The weaker CAD reduced Canada sales by $50. &#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:9pt'></kbd>UTMD groups its sales into four general product categories: 1) obstetrics, comprised of labor and delivery management tools for monitoring fetal and maternal well-being, for reducing risk in performing difficult delivery procedures and for improving clinician and patient safety; &#160;2) gynecology/ electrosurgery/ urology, comprised of tools for gynecological procedures associated primarily with cervical/ uterine disease including LETZ, endometrial tissue sampling, transvaginal uterine sonography, diagnostic laparoscopy, surgical contraception and other MIS procedures; specialty excision and incision tools; conservative urinary incontinence therapy devices; and urology surgical procedure devices; &#160;3) neonatal critical care, comprised of devices that provide developmentally-friendly care to the most critically ill babies, including providing vascular access, enteral feeding, administering vital fluids, oxygen therapy while maintaining a neutral thermal environment, providing protection and assisting in specialized applications; and &#160;4) blood pressure monitoring/ accessories/ other, comprised of specialized transducers and components as well as molded parts and assemblies sold on an OEM basis to other companies. &#160;In these four categories, UTMD&#8217;s primary revenue contributors enjoy significant brand awareness by clinical users.&#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:10.8pt'></kbd>Global revenues by product category:&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>%</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>%</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Obstetrics</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$4,661</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>9</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$4,675</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>9</p>
</td></tr>
<tr><td valign='top' style='width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Gynecology/ Electrosurgery/ Urology</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>21,841</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>42</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>21,973</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>45</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Neonatal</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>7,567</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>14</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>6,691</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>14</p>
</td></tr>
<tr><td valign='top' style='width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Blood Pressure Monitoring and Accessories*</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>18,212</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>35</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>15,715</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>32</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Total:</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$52,281</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>100</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$49,054</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>100</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:10.8pt'></kbd>OUS revenues by product category:&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>%</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>%</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Obstetrics</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;676</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'> &#160;3</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;735</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'> &#160;4</p>
</td></tr>
<tr><td valign='top' style='width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Gynecology/ Electrosurgery/ Urology</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>11,603</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>57</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>11,053</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>60</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Neonatal</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>1,517</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'> &#160;8</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>1,347</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'> &#160;7</p>
</td></tr>
<tr><td valign='top' style='width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Blood Pressure Monitoring and Accessories*</p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>6,514</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>32</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>5,260</span></p>
</td><td valign='top' style='width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>29</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:50%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Total:</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ 20,310</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>100</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ 18,395</p>
</td><td valign='top' style='background-color:#CCEEFF;width:12.5%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>100</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:24.3pt'></kbd>* includes molded components and finished medical and non-medical devices sold to OEM customers.&#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:9pt'></kbd>Looking forward to 2023 sales, UTMD&#8217;s largest customer representing almost $11.6 million in 2022 WW consolidated revenues, including 83% of U.S. OEM sales and 28% of Ireland&#8217;s international distributor sales, has provided mixed signals for demand for all of 2023. &#160;UTMD is planning for a reduction in annual sales to this customer, even though shipments together with orders received to-date for the first nine months of 2023 for pressure transducer assemblies are higher than in 2022. The actions of the U.S. Federal Reserve to continue to increase interest rates because of sticky inflation, combined with a lack of a significant U.S. recession, is likely to result in a stronger average USD in 2023 relative to 2022, resulting in a negative impact on about 25% of UTMD&#8217;s sales invoiced in foreign currencies. Another key to 2023 sales results will be retaining U.S. Filshie device sales at a similar level as in 2022. Offsetting the above possible negative factors, because of the sticky inflation in input costs, UTMD has raised its unit prices again in early 2023, and expects unit demand for its medical devices to end-users to remain stable. &#160;In summary, management&#8217;s best estimate at this time is that 2023 consolidated WW revenues may be about the same as in 2022, but perhaps lower depending on OEM sales, without consideration for acquiring another source of revenues not currently in UTMD&#8217;s portfolio.&#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'>25</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;margin-left:27pt'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:-18pt'>b)</kbd><span style='border-bottom:1px solid #000000'>Gross Profit (GP)</span>. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>UTMD&#8217;s 2022 consolidated GP, the surplus after subtracting costs of manufacturing, which includes purchasing and transporting raw materials, forming components, assembling, inspecting, testing, packaging and sterilizing products, from net revenues, was $32,196 (61.6% of sales) compared to $30,917 (63.0% of sales) in 2021. &#160;GP in 2022 increased $1,280 (+4.1%) with a 6.6% increase in revenues.&#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:9pt'></kbd>The Gross Profit Margin (GPM), which is GP divided by sales, contracted due to the fact that all components of manufacturing cost increased at a rate faster than the increase in revenues which included price increases to customers. &#160;Manufacturing costs in Utah, where about 60% of the Company&#8217;s product revenues are manufactured, increased at a rate more than double UTMD&#8217;s average price increases, resulting in a lower U.S. GPM. &#160;U.S. direct labor and raw material costs increased more than 10%, while manufacturing overhead (MOH) costs increased more than 20%. &#160;The Company experienced an unfavorable year for its self-insured U.S. health care plan, a doubling of freight for incoming materials and significantly more engineering dedicated to process improvements, all of which are included in MOH.&#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:9pt'></kbd>UTMD&#8217;s Ireland subsidiary&#8217;s (UTMD Ltd&#8217;s) 2022 GP was EUR 8,538 compared to EUR 6,788 in 2021. The associated GPMs were 60.0% in 2022 and 61.2% in 2021. &#160;Femcare UK 2022 GP was GBP 1,297 compared to GBP 913 in 2021. The 2022 UK GPM was 52.0% compared to 46.3% in 2021. A delayed substantial UK recovery in Filshie device sales after the COVID-19 pandemic explains the GPM improvement, as UK manufacturing overhead costs are relatively fixed. Femcare Australia and Femcare Canada are simply distribution facilities for UTMD finished devices in their respective countries. GP is the result of subtracting intercompany purchase prices of devices, plus incoming freight, from revenues. Australia 2022 GP was AUD 940 (51.4% of sales) compared to AUD 1,399 (61.6% of sales) in 2021. Canada 2022 GP was CAD 870 (51.7% of sales) compared to CAD 907 (52.4% of sales) in 2021. In the U.S., GP was $20,699 in 2022 compared to $20,100 in 2021. The U.S. GPM was 54.8% in 2022 compared to 55.8% in 2021. &#160;A summation of the above GP of each subsidiary will not yield UTMD&#8217;s consolidated total GP because of elimination of profit in inventory of intercompany sales. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'><kbd style='margin-left:9pt'></kbd>In 2023, UTMD has the objective to manage manufacturing cost pressures to maintain its GPM consistent with 2022. &#160;&#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>26</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;margin-left:27pt'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:-18pt'>c)</kbd><span style='border-bottom:1px solid #000000'>Operating Income</span>. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Operating Income results from subtracting operating expenses from GP. Operating Income in 2022 was $19,790 (37.9% of sales) compared to $18,880 (38.5% of sales) in 2021. &#160;UTMD&#8217;s 2022 Operating Income margin (Operating Income divided by sales) contracted only 0.6 percentage points after its GPM contracted 1.4 percentage points. &#160;This was due to the fact that Intangible Asset amortization expenses related to the Filshie Clip System (included in Operating Expenses) were better absorbed with higher sales, that is, were 1.3 percentage points lower than in 2021. &#160;In addition, subsidiary operating expenses in foreign currencies were diminished when translated into USD in the same manner that foreign currency sales were diminished by a strong USD. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:27pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>The UTMD Ltd (Ireland) Operating Income margin in 2022 was 57.2% compared to 57.8% in 2021. &#160;Femcare UK&#8217;s Operating Income margin per US GAAP, which includes the IIA amortization expense of the 2011 acquisition, was negative in both 2022 and 2021. &#160;Femcare Australia&#8217;s 2022 Operating Income margin was 30.9% compared to 45.9% in 2021. &#160;Femcare Canada&#8217;s 2022 Operating Income margin was 37.3% compared to 34.5% in 2021. UTMD&#8217;s 2022 Operating Income margin in the U.S. was 31.2% compared to 33.2% in 2021. &#160;For clarity, the CSI IIA amortization expense hit the U.S. Operating Income margin, and the Femcare IIA amortization expense hit the Femcare UK Operating Income margin. &#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:9pt'></kbd>Operating expenses include sales and marketing (S&amp;M) expenses, product development (R&amp;D) expenses and general and administrative (G&amp;A) expenses. Consolidated WW operating expenses were $12,407 (23.7% of sales) in 2022 compared to $12,037 (24.5% of sales) in 2021. The following table provides a comparison of operating expense categories, as well as further segmentation of G&amp;A expenses: &#160;&#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td colspan='2' valign='top' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td></tr>
<tr><td colspan='2' valign='top' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'>S&amp;M expenses</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$&#160;1,507</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$&#160;1,414</p>
</td></tr>
<tr><td colspan='2' valign='top' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'>R&amp;D expenses</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>493</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>526</p>
</td></tr>
<tr><td colspan='2' valign='top' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'>G&amp;A expenses:</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:304.8pt'><p style='font:10pt Times New Roman;margin:0'>a) litigation expense provision</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>670</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>22</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:304.8pt'><p style='font:10pt Times New Roman;margin:0'>b) corporate legal</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>4</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>1</p>
</td></tr>
<tr><td valign='top' style='width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:304.8pt'><p style='font:10pt Times New Roman;margin:0'>c) outside directors fees</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>131</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>125</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:304.8pt'><p style='font:10pt Times New Roman;margin:0'>d) stock option compensation</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>183</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>166</p>
</td></tr>
<tr><td valign='top' style='width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:304.8pt'><p style='font:10pt Times New Roman;margin:0'>e) profit-sharing bonus accrual</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>444</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>448</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:304.8pt'><p style='font:10pt Times New Roman;margin:0'>f) outside accounting audit/tax</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>184</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>179</p>
</td></tr>
<tr><td valign='top' style='width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:304.8pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>g)</kbd><kbd style='margin-left:9pt'></kbd> Femcare IIA amortization&#160;</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>1,965</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>2,189</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:304.8pt'><p style='font:10pt Times New Roman;margin:0'>h) CSI IIA amortization</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>4,421</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>4,421</p>
</td></tr>
<tr><td valign='top' style='width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:304.8pt'><p style='font:10pt Times New Roman;margin:0'>i) &#160;property &amp; liability insurance premiums</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>101</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>99</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:40.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:304.8pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>j)</kbd><kbd style='margin-left:9pt'></kbd>all other G&amp;A expenses&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2,304</span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2,447</span></p>
</td></tr>
<tr><td colspan='2' valign='top' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'>G&amp;A expenses &#8211;&#160;total</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:3px double #000000'>10,407</span></p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:3px double #000000'>10,097</span></p>
</td></tr>
<tr><td colspan='2' valign='top' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'>Total Consolidated Operating Expense:</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$&#160;12,407</p>
</td><td valign='top' style='background-color:#CCEEFF;width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$&#160;12,037</p>
</td></tr>
<tr><td colspan='2' valign='top' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'>Percent of sales:</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>23.7%</p>
</td><td valign='top' style='width:172.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>24.5%</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Description of Operating Expense Categories:</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:31.5pt'></kbd>i) S&amp;M expenses: &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>S&amp;M expenses in 2022 were $1,507 (2.9% of sales) compared to $1,414 (2.9% of sales) in 2021. &#160;The higher expenses were due to higher U.S. distribution costs including fees paid to Med/Surg distributors. &#160;OUS S&amp;M expenses in 2022 compared to 2021 were diminished by a stronger USD, i.e. constant currency 2022 S&amp;M expenses would be $34 higher. &#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:9pt'></kbd>S&amp;M expenses are the costs of communicating UTMD&#8217;s differences and product advantages, providing training and other customer service in support of the use of UTMD&#8217;s solutions, attending clinical meetings and medical trade shows, administering customer agreements, advertising, processing orders, shipping, and paying commissions to outside independent representatives. In markets where UTMD sells directly to end-users, which in 2021-2022 included the U.S., Ireland, UK, Australia, New Zealand, France and Canada, the largest components of S&amp;M expenses were the cost of customer service required to timely process orders and the distribution costs associated with shipping products. &#160;&#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:9pt'></kbd>S&amp;M expenses include all customer support costs including training. In general, training is not required for UTMD&#8217;s products since they are well-established and have been clinically widely used. Written &#8220;Instructions For Use&#8221; are packaged with all finished devices. Although UTMD does not have any explicit contracts with customers to provide training, it does provide hospital in-service and clinical training as required and reasonably requested. &#160;&#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>27</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>UTMD promises prospective customers that it will provide, at no charge in reasonable quantities, electronic media and other instructional materials developed for the use of its products. UTMD provides customer support from offices in the U.S., Canada, Ireland, UK and Australia by telephone to answer user questions and help troubleshoot any user issues. Occasionally, on a case-by-case basis, UTMD may utilize the services of an independent practitioner to provide educational assistance to clinicians. All in-service and training expenses are routinely expensed as they occur. &#160;Except for the consulting services of independent practitioners and occasional use of marketing consultants, all of these services are allocated from fixed S&amp;M overhead costs. Historically, additional consulting costs have been immaterial to financial results, which is also UTMD&#8217;s expectation for the future.&#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:36pt'></kbd>ii) R&amp;D expenses: &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>R&amp;D expenses in 2022 were $493 (0.9% of sales) compared to $526 (1.1% of sales) in 2021. &#160;R&amp;D expenses include the costs of investigating clinical needs, developing innovative concepts, testing concepts for viability, validating methods of manufacture, completing any necessary premarketing clinical trials, regulatory documentation and other activities required for design control, responding to customer requests for product enhancements, and assisting manufacturing engineering on an ongoing basis in developing new processes or improving existing processes. Product development (R&amp;D) expenses declined as a result of reassigning engineers to help with manufacturing improvements and quality assurance in a challenging year. R&amp;D also played a significant role in manufacturing process improvements that were needed to support fast-growing OEM product demand. Other than OEM products, no new UTMD devices were launched in 2022. UTMD does not pre-announce new devices that are being developed. &#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:36pt'></kbd>iii) &#160;G&amp;A expenses: &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>G&amp;A expenses in 2022 were $10,407 (19.9% of sales) compared to $10,096 (20.6% of sales) in 2021. G&amp;A expenses include the &#8220;front office&#8221; functional costs of executive management and outside directors, finance and accounting, corporate information systems, human resources, stockholder relations, corporate risk management, corporate governance, protection of intellectual property, amortization of identifiable intangibles and legal costs. &#160;The table above helps identify certain specific categories of G&amp;A expenses which might be of interest to stockholders. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'><kbd style='margin-left:9pt'></kbd>The increase in G&amp;A expenses was essentially due to $648 higher U.S. litigation costs, offset by $351 reduction of OUS foreign currency expenses due to a stronger USD. &#160;An FX rate change favorable USD impact of $223 (out of the $351 total) was from the amortization of Femcare acquisition IIA, which was &#163;1,589 in 2022 compared to &#163;1,590 in 2021. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>As stockholders likely remember, the non-cash IIA amortization expense related to the Filshie Clip System includes IIA from both the 2011 acquisition of Femcare Group Ltd and the 2019 purchase of the CSI exclusive U.S. distribution rights for the Filshie Clip System. &#160;The combined IIA amortization expense in 2022 was 12.2% of total WW consolidated sales ($6,386) compared to 13.5% in 2021 ($6,610). &#160;The decline in percent of sales was due both to higher sales and to a stronger USD converting the GBP IIA amortization expense, which was about the same in GBP as in the prior year.&#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:9pt'></kbd>The Femcare IIA amortization expense will continue at the same &#163;397 per calendar quarter rate ending in 1Q 2026 (or until the value of any remaining IIA becomes impaired), subject to changes in the FX rate when converted to USD. The early 2019 purchase of CSI exclusive Filshie Clip System U.S. distribution rights is being amortized at $1,105 per calendar quarter over the remaining life of the Femcare distribution agreement with CSI, which will end in 4Q 2023..&#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:9pt'></kbd>Excluding the non-cash Femcare and CSI IIA amortization expenses, UTMD consolidated operating expenses were $6,021 (11.5% of sales) in 2022 compared to $5,427 (11.1% of sales) in 2021. &#160;The difference was due to litigation expenses. &#160;Maintaining a consistent GPM and tightly controlling operating expenses remains the key to UTMD&#8217;s excellent profitability and Return on Stockholder Equity (ROE).&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:27pt'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:-18pt'>d)</kbd><span style='border-bottom:1px solid #000000'>Non-operating income/Non-operating expense, and Income Before Taxes (EBT)</span>. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Non-operating income includes royalties from licensing UTMD&#8217;s technology, rent from leasing underutilized property to others, income earned from investing the Company&#8217;s excess cash and gains from the sale of assets. &#160;Non-operating expense includes interest on bank loans, bank service fees, excise taxes and losses from the sale of assets. Also, the period-to-period remeasured value of EUR cash balances held in the UK, and GBP balances held in Ireland, generates a gain or loss which is booked at reporting period end as non-operating income or expense, as applicable. &#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>28</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Net non-operating income (combination of non-operating income and non-operating expense) was $869 in 2022 and $181 in 2021. The higher non-operating income in 2022 compared to 2021 was due to higher interest income on UTMD&#8217;s cash balances. A description of components of UTMD&#8217;s non-operating income or expense follows:&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:45pt'><br/>1) &#160;Interest Expense. &#160;There was no interest expense in 2022 or 2021. &#160;Absent an acquisition or large repurchase of shares that requires new borrowing, UTMD does not expect any interest expense in 2023.<br/></p>
<p style='font:10pt Times New Roman;margin:0;margin-left:45pt'>2) &#160;Investment of excess cash. &#160;Consolidated investment income (including gains and losses on sales of investments) was $661 in 2022 compared to $46 in 2021. Average cash balances were almost $12 million higher in 2022 than in 2021. In addition, in contrast to 2022, interest rates in 2021 were practically zero, and UTMD had to pay negative interest on EUR bank balances in Ireland. UTMD is projecting higher interest rates to continue in 2023, leading to another substantial increase in non-operating income. <br/></p>
<p style='font:10pt Times New Roman;margin:0;margin-left:45.35pt'>3) &#160;Royalties. &#160;Royalties in 2022 were $20 compared to $15 in 2021. Presently, there is only one arrangement which began in 2020 under which UTMD is receiving royalties on its technology. &#160;<br/></p>
<p style='font:10pt Times New Roman;margin:0;margin-left:45.35pt'>4) &#160;Gains/ losses from remeasured currency in bank accounts. &#160;UTMD recognized a $20 loss in 2022 compared to a $23 loss in 2021 from losses on remeasured foreign currency bank balances. &#160;EUR currency cash balances in the UK, and GBP currency cash bank balances in Ireland, are subject to remeasured currency translation gains/ losses as a result of period to period changes in FX rates. &#160;&#160;&#160;<br/></p>
<p style='font:10pt Times New Roman;margin:0;margin-left:45.35pt'>5) &#160;Other non-operating income or expense. &#160;Income received from renting unused warehouse space in Ireland and parking lot space in Utah for a cell phone tower, offset by bank fees, and other miscellaneous non-operating expenses resulted in net non-operating income of $196 in 2022 compared to a net non-operating income of $124 in 2021. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'><kbd style='margin-left:9pt'></kbd>EBT results from adding net non-operating income or subtracting net non-operating expense from Operating Income. Consolidated EBT was $20,659 (39.5% of sales) in 2022 compared to $19,061 (38.9% of sales) in 2021. &#160;In other words, despite the inflationary cost pressures diluting UTMD&#8217;s GPM and much higher litigation expenses, the Company expanded its EBT Margin (EBT as a percentage of sales) on higher sales, yielding an 8.4% increase in EBT in a tough year. In summary, UTMD&#8217;s 2022 EBT substantially exceeded management&#8217;s beginning of year projections due to achieving less dilution in profit margins and greater non-operating income than was expected.&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-6.5pt'><kbd style='margin-left:9pt'></kbd>The 2022 EBT of UTMD Ltd. (Ireland) was &#8364;8,013 (56.3% of sales) compared to &#8364;6,277 (56.6% of sales) in 2021. &#160;Femcare Ltd&#8217;s (UK) 2022 EBT was (&#163;574) compared to (&#163;1,003) in 2021. &#160;Femcare Ltd, as the legal manufacturer of the Filshie Clip System, supports worldwide regulatory requirements in addition to absorbing the IIA amortization expense of the 2011 Femcare Group acquisition. Femcare AUS&#8217;s 2022 EBT was AUD 573 (31.3% of sales) compared to AUD 1,042 (45.9% of sales) in 2021. Femcare Canada&#8217;s 2022 EBT was CAD 622 (36.9% of sales) compared to CAD 592 (34.2% of sales) in 2021.&#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:7.2pt'></kbd>As a side note for clarity of comparison of financial results, UTMD&#8217;s 2021 EBT, as well as all other income statement measures above the EBT line in the 2021 Income Statement, were unaffected by the 2Q 2021 income tax provision adjustment as a result of a future income tax rate change in the UK, which increased UTMD&#8217;s long term deferred tax liability and reduced Net Income in 2021.&#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:9pt'></kbd>EBITDA is a non-US GAAP metric that UTMD management believes is of interest to investors because it provides meaningful supplemental information to both management and investors that represents profitability performance without factoring in effects of financing, accounting decisions regarding non-cash expenses, capital expenditures or tax environments. If the Company were to need to borrow to pay for a major asset or acquisition, the projected EBITDA metric would be of primary interest to a lending institution to determine UTMD&#8217;s credit worthiness. Although the U.S. Securities and Exchange Commission advises that EBITDA is a non-GAAP metric, UTMD&#8217;s non-US GAAP EBITDA is the sum of the following elements in the table below, each of which is a US GAAP number: &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:408.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:146.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:136.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:408.2pt'><p style='font:10pt Times New Roman;margin:0'>EBT</p>
</td><td valign='top' style='background-color:#CCEEFF;width:146.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$20,659</p>
</td><td valign='top' style='background-color:#CCEEFF;width:136.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$19,061</p>
</td></tr>
<tr><td valign='top' style='width:408.2pt'><p style='font:10pt Times New Roman;margin:0'>Depreciation Expense</p>
</td><td valign='top' style='width:146.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>612</p>
</td><td valign='top' style='width:136.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>636</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:408.2pt'><p style='font:10pt Times New Roman;margin:0'>Femcare IIA Amortization Expense</p>
</td><td valign='top' style='background-color:#CCEEFF;width:146.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>1,965</p>
</td><td valign='top' style='background-color:#CCEEFF;width:136.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>2,189</p>
</td></tr>
<tr><td valign='top' style='width:408.2pt'><p style='font:10pt Times New Roman;margin:0'>CSI IIA Amortization Expense</p>
</td><td valign='top' style='width:146.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>4,421</p>
</td><td valign='top' style='width:136.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>4,421</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:408.2pt'><p style='font:10pt Times New Roman;margin:0'>Other Non-Cash Amortization Expense</p>
</td><td valign='top' style='background-color:#CCEEFF;width:146.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>31</p>
</td><td valign='top' style='background-color:#CCEEFF;width:136.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>34</p>
</td></tr>
<tr><td valign='top' style='width:408.2pt'><p style='font:10pt Times New Roman;margin:0'>Stock Option Compensation Expense</p>
</td><td valign='top' style='width:146.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>183</p>
</td><td valign='top' style='width:136.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>166</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:408.2pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>Remeasured Foreign Currency Balances</p>
</td><td valign='top' style='background-color:#CCEEFF;width:146.5pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>20</p>
</td><td valign='top' style='background-color:#CCEEFF;width:136.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>23</p>
</td></tr>
<tr><td valign='top' style='width:408.2pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>UTMD non-US GAAP EBITDA:</p>
</td><td valign='top' style='width:146.5pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$27,891</p>
</td><td valign='top' style='width:136.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$26,530</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:9pt'></kbd>In summary, UTMD&#8217;s 2022 non-US GAAP EBITDA increased 5.1% compared to 2021.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:27pt'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:-18pt'>e)</kbd><span style='border-bottom:1px solid #000000'>Net Income, Earnings Per Share (EPS) and Return on Equity (ROE).</span> &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd> &#160;&#160;&#160;&#160;&#160;&#160;&#160;i) Net Income &#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Net Income results after subtracting a provision for estimated income taxes from EBT. UTMD&#8217;s US GAAP Net Income in 2022 was $16,473 (31.5% of sales) compared to $14,788 (30.1% of sales) in 2021. Because of a future UK income tax rate change enacted in 2021 which reduced 2021 Net Income and EPS results per US GAAP, management does not believe the year-to-year comparisons in US GAAP Net Income and EPS are an accurate measure of UTMD&#8217;s bottom-line 2022 financial performance comparison with 2021. Ignoring the income tax adjustment, 2021 non-US GAAP Net Income was $15,178 (30.9% of sales). &#160;Please see the table below which presents Net Income both according to US GAAP and also prior to recognition of the 2021 income tax provision adjustment. &#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'>29</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>The US GAAP consolidated income tax provision rate for 2022 was 20.3% compared to 22.4% in 2021. The estimated tax provision adjustment in 2021 increased the average rate. The non-US GAAP consolidated combined income tax provision rate for 2021 was 20.4%, about the same as in 2022. For clarity, the UK income tax rate change in 2021 from 19% to 25% beginning in April 2023 <span style='border-bottom:1px solid #000000'>added $390</span> to UTMD&#8217;s 2021 income tax provision, representing the increased tax which will be due over the remaining life of amortization of Femcare&#8217;s IIA, which is not a tax-deductible expense in the UK. &#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='position:absolute;font:10pt Times New Roman;margin-left:0pt'> </kbd><kbd style='margin-left:9pt'></kbd>In general, year-to-year fluctuations in the combined average income tax provision rate will result from variation in EBT contribution from subsidiaries in jurisdictions with different corporate income tax rates. Taxes in foreign subsidiaries are based on taxable EBT in those sovereignties, which can be different from the contribution to consolidated EBT per US GAAP. &#160;UTMD expects, barring any new tax law changes which are currently unknown, that its combined income tax rate for 2023 will be within the 20.3%-20.5% range. &#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:9pt'></kbd>The UK had a corporate income tax rate of 19% for both 2022 and 2021. &#160;The UK also allowed a tax deduction for sales of UK patented products which varied from year-to-year based on somewhat complicated rules which are sorted out for UTMD by independent UK tax specialists. The income tax rate for AUS was 30% for both 2022 and 2021. The income tax rate for Canada was about 27% for both years. Profits of the Ireland subsidiary were taxed at a 12.5% rate on exported manufactured products, and a 25% rate on rental and other types of income including income from sales of medical devices in Ireland domestically. As UTMD stockholders likely remember, in the U.S., the Federal income tax rate was changed after 2017 to 21% from 34% prior to the 2017 Tax Cut and Jobs Act (TCJA). &#160;Federal taxes are not 21% of U.S. EBT, however, as income taxes paid to the State are a deductible expense for Federal tax purposes, other expenses are not deductible and there remains an R&amp;D tax credit along with other credits, not to mention a GILTI tax related to foreign income and FDII tax credit related to profits on export sales. The Utah state income tax rate declined to 4.95% from 5% prior to the TCJA, and the State of Utah enacted income apportionment rules that provide for additional tax relief. &#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:9pt'></kbd>ii) Earnings Per Share (EPS)&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>EPS are Net Income divided by the number of shares of stock outstanding (diluted to take into consideration stock option awards which are &#8220;in the money,&#8221; i.e., have exercise prices below the applicable period&#8217;s weighted average market value). &#160;US GAAP diluted EPS in year 2022 were $4.522 compared to $4.041 in 2021, an 11.9% increase. &#160;Excluding the income tax provision increase due to the DTL adjustment in 2021, non-US GAAP diluted EPS in 2021 were $4.147. The 2022 EPS increase over the non-US GAAP 2021 EPS was 9.0%, which is more indicative of normal operating results. The increase in EPS was higher than the increase in Operating Income as a result of the 2022 improvement in net non-operating income from higher interest on higher cash balances, and a stock buy-back in 2Q 2022. Diluted shares were 3,643,256 for the year 2022 compared to 3,659,814 in 2021. Dilution for &#8220;in the money&#8221; unexercised options for the year 2022 was 5,934 shares compared to 12,606 shares in 2021. Actual outstanding common shares as of December 31, 2022 were 3,627,767. The 2022 EPS exceeded management&#8217;s projection at the beginning of the year.&#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>30</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>UTMD management believes the presentation of Net Income and EPS results excluding the tax liability estimate adjustment in 2021 provides meaningful supplemental information to both management and investors that is more clearly indicative of UTMD&#8217;s bottom line results for comparison purposes. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>US GAAP</span>: </p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:308.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:197.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:185.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:308.35pt'><p style='font:10pt Times New Roman;margin:0'>Net Income</p>
</td><td valign='top' style='background-color:#CCEEFF;width:197.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>$16,473</p>
</td><td valign='top' style='background-color:#CCEEFF;width:185.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>$14,788</p>
</td></tr>
<tr><td valign='top' style='width:308.35pt'><p style='font:10pt Times New Roman;margin:0'>Net Income Margin</p>
</td><td valign='top' style='width:197.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>31.5%</p>
</td><td valign='top' style='width:185.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>30.1%</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:308.35pt'><p style='font:10pt Times New Roman;margin:0'>EPS</p>
</td><td valign='top' style='background-color:#CCEEFF;width:197.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>$ 4.522</p>
</td><td valign='top' style='background-color:#CCEEFF;width:185.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>$ 4.041</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Non-US GAAP (excluding the 2021 UK DTL change):</span></p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:308.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:197.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2022</span></p>
</td><td valign='top' style='width:185.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>2021</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:308.35pt'><p style='font:10pt Times New Roman;margin:0'>Net Income</p>
</td><td valign='top' style='background-color:#CCEEFF;width:197.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>$16,473</p>
</td><td valign='top' style='background-color:#CCEEFF;width:185.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>$15,178</p>
</td></tr>
<tr><td valign='top' style='width:308.35pt'><p style='font:10pt Times New Roman;margin:0'>Net Income Margin</p>
</td><td valign='top' style='width:197.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>31.5%</p>
</td><td valign='top' style='width:185.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>30.9%</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:308.35pt'><p style='font:10pt Times New Roman;margin:0'>EPS</p>
</td><td valign='top' style='background-color:#CCEEFF;width:197.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>$ 4.522</p>
</td><td valign='top' style='background-color:#CCEEFF;width:185.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>$ 4.147</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:9pt'></kbd><i>Note: &#160;The 2021 tax provision adjustment only affected UTMD&#8217;s income tax provision, Net Income and EPS, not consolidated revenues (sales), GP, Operating Income or EBT.</i>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:0pt'> &#160;</kbd><kbd style='margin-left:7.2pt'></kbd>The non-US GAAP financial measures indicate that the 2022 growth in Net Income and EPS compared to 2021 was more modest, and facilitate management&#8217;s internal comparisons for purposes of planning future performance. The non-US GAAP financial measures disclosed by UTMD should not be considered a substitute for or superior to financial measures calculated in accordance with US GAAP, and the financial results calculated in accordance with US GAAP and reconciliations to those financial statements should be carefully evaluated. &#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:9pt'></kbd>Looking forward to 2023, UTMD believes that sales to its medical device end-users will remain stable. &#160;This might be partly offset, however, if the USD on the average is stronger, reducing the USD value of approximately 25% of UTMD&#8217;s revenues invoiced in foreign currencies. &#160;In recent years, UTMD&#8217;s sales to its largest OEM customer have grown rapidly, culminating in 22% of UTMD&#8217;s consolidated WW revenues in 2022. Projections of demand from this customer have not been reliable in the past, and its signals for 2023 are currently mixed despite year-to-date orders which are higher. Given the abatement of vaccine production for COVID-19, UTMD anticipates a near term lessening of pharmaceutical control device demand, perhaps reducing UTMD&#8217;s revenues in 2023 relative to 2022 from this customer. Therefore, management believes it is reasonable to project 2023 revenues in the range of $50 to $52 million compared to $52.3 million in 2022, without consideration for acquiring another source of revenues not currently in UTMD&#8217;s portfolio. The Company also believes it can maintain its Gross Profit Margin and Operating Income Margin in 2023 with slightly lower sales, excluding unusual litigation costs, despite economic headwinds associated with a high cost inflation environment. &#160;In the absence of a significant use of cash to increase long term stockholder value, the incremental litigation costs should be more than covered by UTMD&#8217;s increase in interest income on its cash reserves. The endpoint of this 2023 projection is Net Income and EPS about the same as in 2022. &#160;&#160;&#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:9pt'></kbd>iii) ROE&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Maintaining a high ROE remains a key management objective for UTMD in order to grow without diluting stockholder interest. ROE is the quotient of Net Income divided by average Stockholders&#8217; Equity, but more specifically it is the product of the Net Income margin, productivity of assets and financial leverage. Although UTMD&#8217;s high Net Income margin is the primary factor that continues to drive its ROE, cash dividends to stockholders and repurchase of shares help in lowering average Stockholders&#8217; Equity, reducing the denominator in calculating ROE. UTMD&#8217;s 2022 ROE before stockholder dividends was 14.9%. &#160;In comparison, 2021 ROE was 14.1%. &#160;&#160;&#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'>31</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><kbd style='margin-left:9pt'></kbd>The higher 2022 ROE compared to 2021 was the result of 11.4% higher US GAAP Net Income coupled with 5.4% higher average Stockholders&#8217; Equity. Average Stockholders&#8217; Equity was $110,696 in 2022 compared to $104,980 in 2021. &#160;UTMD&#8217;s Stockholders&#8217; Equity has more than doubled over the last ten years to $114 million at the end of 2022, despite being reduced by $46 million in dividends plus $16 million in share repurchases over that same period of time.&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><kbd style='margin-left:9pt'></kbd>Maintaining a high ROE with the dilutive effect of rapidly growing Average Stockholders&#8217; Equity (despite reductions from dividends and stock repurchases), while maintaining excellent Net Income results, suggests an excellent increase in stockholder value. UTMD&#8217;s average ROE over the last 30 years was 24%. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Liquidity and Capital Resources</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd><span style='border-bottom:1px solid #000000'>Cash Flows</span>. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Net cash provided by operating activities in 2022 totaled $21,147 compared to $21,203 in 2021. &#160;Net Income at $1,685 higher in 2022 compared to 2021 allowed net cash provided by operating activities in 2022, including adjustments for depreciation and other non-cash operating expenses, along with changes in working capital and the tax benefit attributable to exercise of employee incentive stock options, to be about the same as in 2021. The increase in Net Income funded operating activities particularly including a $1,868 higher increase in inventories than the increase in 2021 (second order derivative). &#160;The additional inventory increase was a hedge against supply chain disruption emanating from the COVID-19 pandemic. &#160;Other changes were a function of normal business activity, e.g. 1) a $577 lower use of cash as a result of increasing trade accounts receivable (A/R) $511 instead of the $1,088 increase in 2021, &#160;2) a $486 lower use of cash as a result of increasing accounts payable $463 instead of the $23 decrease in 2021, 3) a $461 higher use of cash from increasing accrued expenses only $252 compared to the $713 increase in 2021, 4) a $308 higher use of cash from reducing deferred income taxes $401 compared to the $92 reduction in 2021, and 5) $251 less cash provided from less depreciation and amortization in 2022 compared to 2021. &#160;Also, the income tax benefit attributable to exercise of employee stock options in 2022 was $34 lower than in 2021 because 10,210 fewer shares were exercised. &#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:9pt'></kbd>In investing activities, during 2022 UTMD used $809 in capital expenditures to purchase new molds and manufacturing equipment and fixtures for expanded capabilities as well as to maintain and improve existing operating capabilities, compared to investing $552 in 2021. Capital expenditures exceeded depreciation by $197. &#160;UTMD also expensed $40 more in 2022 compared to 2021 for tools and equipment, including repairs.&#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:9pt'></kbd>In 2022, UTMD received $174 and issued 3,135 shares of stock upon the exercise of employee and director stock options. Employees exercised a total of 3,501 option shares in 2022, with 366 shares immediately being retired as a result of optionees trading the shares in payment of the exercise price of the options. &#160;Option exercises in 2022 were at an average price of $60.34 per share. The Company received a $6 tax benefit from option exercises in 2022. UTMD repurchased 30,105 shares of its stock in the open market during 2022 at an average cost of $82.88 per share. &#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:9pt'></kbd>In comparison, in 2021 UTMD received $560 and issued 11,702 shares of stock upon the exercise of employee stock options. Employees exercised a total of 13,711 option shares in 2021, with 2,009 shares immediately being retired as a result of optionees trading the shares in payment of the exercise price of the options. &#160;Option exercises in 2021 were at an average price of $57.40 per share. The Company received a $39 tax benefit from option exercises in 2021. UTMD did not repurchase shares of its stock in the open market during 2021. &#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:9pt'></kbd>UTMD did not borrow in the years 2021 and 2022. &#160;Cash dividends paid to stockholders were $3,162 in 2022 compared to $11,465 in 2021.&#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:9pt'></kbd>Management believes that future income from operations and effective management of working capital will continue to provide the liquidity needed to finance internal growth plans. &#160;In an uncertain economic environment, UTMD&#8217;s cash balances allow management to operate with the long-term best interest of stockholders in mind. &#160;Planned 2023 capital expenditures for ongoing operations are expected to be about the same in magnitude as depreciation of PP&amp;E, although additional capital expenditure opportunities are being considered. &#160;&#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'>32</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Management plans to utilize cash not needed to support normal operations in one or a combination of the following: 1) in general, to continue to invest at opportune times in ways that will enhance future profitability; 2) to make additional investments in new technology and/or processes; and/or 3) to acquire a product line or company that will augment revenue and EPS growth and better utilize UTMD&#8217;s existing infrastructure. &#160;If there are no better strategic uses for UTMD&#8217;s cash, the Company will continue to return cash to stockholders in the form of dividends and share repurchases when the stock appears undervalued. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Management's Outlook.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>UTMD remains relatively small compared to many other companies, but its employees are experienced and remain diligent in their work. UTMD&#8217;s passion is in providing differentiated clinical solutions that will help improve the outcomes of medical procedures and reduce health risks, particularly for women and their babies. &#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:7.2pt'></kbd>The safety, reliability and performance of UTMD&#8217;s medical devices are consistently high and represent significant clinical benefits while providing minimum total cost of care. &#160;UTMD will continue to leverage its reputation as a device innovator and reliable manufacturer which will responsively take on challenges to work with clinicians who use its specialty devices. &#160;In doing so, UTMD will continue to differentiate itself, especially from its commodity-oriented competitors. &#160;In 2023, UTMD again plans to &#160;</p>
<p style='font:10pt Times New Roman;margin:0'> &#160;&#160; 1) &#160;leverage distribution and manufacturing synergies by further integrating capabilities and resources in its multinational operations; &#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>2) &#160;expand manufacturing capacity at a time when resources are scarce;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>3) &#160;focus on effectively differentiating the benefits of the Filshie Clip System in the U.S.;&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:7.2pt'>4) &#160;introduce additional products helpful to clinicians through product development; </p>
<p style='font:10pt Times New Roman;margin:0;text-indent:-1.9pt;margin-left:9pt'>5) &#160;continue to achieve excellent overall financial operating performance;</p>
<p style='font:10pt Times New Roman;margin:0;text-indent:-1.9pt;margin-left:9pt'>6) &#160;utilize positive cash generation to continue providing cash dividends to stockholders and make open market share repurchases if/when the UTMD share price seems undervalued; and</p>
<p style='font:10pt Times New Roman;margin:0;text-indent:-1.9pt;margin-left:9pt'>7) &#160;remain vigilant for affordable accretive acquisition opportunities which may be brought about by difficult burdens on small, innovative companies. </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:7.2pt'></kbd>The Company has a fundamental focus to do an excellent job in meeting clinicians&#8217; and patients&#8217; needs, while providing stockholders with excellent returns. &#160;In the combined form of cash dividends and share repurchases, UTMD &#8220;returned&#8221; $5,658 (34% of Net Income) in 2022 compared to $11,465 (78% of Net Income) in 2021 to stockholders. &#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:7.2pt'></kbd>In 2022, the value of UTMD&#8217;s stock <span style='border-bottom:1px solid #000000'>increased</span>, albeit less than 1%, ending the year at $100.53/ share, while $0.87 in cash dividends/ share were paid to stockholders. The DJIA, S&amp;P 500 and NASDAQ (where UTMD is traded) indices were all <span style='border-bottom:1px solid #000000'>lower</span> in 2022, respectively by 9%, 19% and 33%. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'> &#160;&#160;In comparison, in 2021, the value of UTMD&#8217;s stock improved 19%, ending the year at $100.00/ share, while $3.14 in cash dividends/ share were paid. The DJIA, S&amp;P 500 and NASDAQ (where UTMD is traded) indices were up 19%, 27% and 27% respectively in 2021.</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><kbd style='margin-left:7.2pt'></kbd>The average annually compounded appreciation in UTMD stock value for the last 24 years was 12.0% per year, substantially outpacing all of the major indices. Adding dividends, UTMD stockholder value increased at an <span style='border-bottom:1px solid #000000'>annually</span> compounded rate of 12.9% over the last 24 years since 1998.&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><kbd style='margin-left:7.2pt'></kbd>Combining share price appreciation as a result of a long-term financial performance and a capital allocation strategy that includes opportunistic share repurchases with steadily growing quarterly cash dividends paid to stockholders since 2004, longer term UTMD stockholders have experienced excellent returns. Management is committed to continue that performance.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Off Balance Sheet Arrangements</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>None&#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'>33</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'>Contractual Obligations</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>The following is a summary of UTMD&#8217;s significant contractual obligations and commitments as of December 31, 2022: &#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:226.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Contractual Obligations and Commitments</span></p>
</td><td valign='top' style='width:97.3pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.6pt;text-align:right'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:3.6pt;text-align:right'><span style='border-bottom:1px solid #000000'>Total</span></p>
</td><td valign='top' style='width:92.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2023</span></p>
</td><td valign='top' style='width:84.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:3.3pt;text-align:right'><span style='border-bottom:1px solid #000000'>2024-2025</span></p>
</td><td valign='top' style='width:92.65pt'><p style='font:10pt Times New Roman;margin:0;margin-right:1.55pt;text-align:right'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:1.55pt;text-align:right'><span style='border-bottom:1px solid #000000'>2026-2027</span></p>
</td><td valign='top' style='width:96.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'>2028 and thereafter</span></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:226.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:justify'>Long-term debt obligations</p>
</td><td valign='top' style='background-color:#CCEEFF;width:97.3pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.6pt;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;-</p>
</td><td valign='top' style='background-color:#CCEEFF;width:92.65pt'><p style='font:10pt Times New Roman;margin:0;margin-right:1.2pt;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;-</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.95pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.3pt;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;- </p>
</td><td valign='top' style='background-color:#CCEEFF;width:92.65pt'><p style='font:10pt Times New Roman;margin:0;margin-right:1.55pt;text-align:right'> $ &#160;&#160;&#160;&#160;&#160;&#160;-</p>
</td><td valign='top' style='background-color:#CCEEFF;width:96.25pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.35pt;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;-</p>
</td></tr>
<tr><td valign='top' style='width:226.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:justify'>Operating lease obligations</p>
</td><td valign='top' style='width:97.3pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.6pt;text-align:right'>444</p>
</td><td valign='top' style='width:92.65pt'><p style='font:10pt Times New Roman;margin:0;margin-right:1.2pt;text-align:right'>64</p>
</td><td valign='top' style='width:84.95pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.3pt;text-align:right'>105</p>
</td><td valign='top' style='width:92.65pt'><p style='font:10pt Times New Roman;margin:0;margin-right:1.55pt;text-align:right'>97</p>
</td><td valign='top' style='width:96.25pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.35pt;text-align:right'>178</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:226.95pt'><p style='font:10pt Times New Roman;margin:0'>Purchase obligations </p>
</td><td valign='top' style='background-color:#CCEEFF;width:97.3pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.6pt;text-align:right'><span style='border-bottom:1px solid #000000'>4,798</span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:92.65pt'><p style='font:10pt Times New Roman;margin:0;margin-right:1.2pt;text-align:right'><span style='border-bottom:1px solid #000000'>4,769</span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.95pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.3pt;text-align:right'><span style='border-bottom:1px solid #000000'>29</span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:92.65pt'><p style='font:10pt Times New Roman;margin:0;margin-right:1.55pt;text-align:right'><span style='border-bottom:1px solid #000000'>-</span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:96.25pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.35pt;text-align:right'><span style='border-bottom:1px solid #000000'>-</span></p>
</td></tr>
<tr><td valign='top' style='width:226.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:justify'><kbd style='margin-left:20.85pt'></kbd>Total&#160;</p>
</td><td valign='top' style='width:97.3pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.6pt;text-align:right'><span style='border-bottom:3px double #000000'>$ 5,242</span></p>
</td><td valign='top' style='width:92.65pt'><p style='font:10pt Times New Roman;margin:0;margin-right:1.2pt;text-align:right'><span style='border-bottom:3px double #000000'>$ 4,833</span></p>
</td><td valign='top' style='width:84.95pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.3pt;text-align:right'><span style='border-bottom:3px double #000000'>$ &#160;134</span></p>
</td><td valign='top' style='width:92.65pt'><p style='font:10pt Times New Roman;margin:0;margin-right:1.55pt;text-align:right'><span style='border-bottom:3px double #000000'>$ &#160;&#160;&#160;97</span></p>
</td><td valign='top' style='width:96.25pt'><p style='font:10pt Times New Roman;margin:0;margin-right:3.35pt;text-align:right'><span style='border-bottom:3px double #000000'>$ &#160;178</span></p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;color:#000000'>Critical Accounting Policies and Estimates</p>
<p style='font:10pt Times New Roman;margin:0;color:#000000;background-color:#FFFFFF'><kbd style='margin-left:9pt'></kbd>The preparation of these financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as well as the reported amounts of revenues and expenses during the reporting period. &#160;</p>
<p style='font:10pt Times New Roman;margin:0;color:#000000'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;color:#000000;background-color:#FFFFFF'><kbd style='margin-left:9pt'></kbd>Management bases its estimates and judgments on historical experience, current economic and industry conditions and on various other factors that are believed to be reasonable under the circumstances. This forms the basis for making judgments about the carrying values of assets and liabilities that are not readily available from other sources. Management has identified the following as the Company&#8217;s most critical accounting policies which require significant judgment and estimates. Although management believes its estimates are reasonable, actual results may differ from these estimates under different assumptions or conditions.&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>Allowance for doubtful accounts: The majority of the Company&#8217;s receivables are with healthcare facilities and medical device distributors. &#160;Although the Company has historically not had significant write-offs of bad debt, the possibility exists, particularly with foreign distributors where collection efforts can be difficult or in the event of widespread hospital bankruptcies. &#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>Inventory valuation reserves: &#160;The Company strives to maintain inventory to 1) meet its customers&#8217; needs and 2) optimize manufacturing lot sizes while 3) not tying-up an unnecessary amount of the Company&#8217;s capital increasing the possibility of, among other things, obsolescence. The Company believes its method of reviewing actual and projected demand for its existing inventory allows it to arrive at a fair inventory valuation reserve. While the Company has historically not had significant inventory write-offs, the possibility exists that one or more of its products may become unexpectedly obsolete for which a reserve has not previously been created. The Company&#8217;s historical write-offs have not been materially different from its estimates.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Accounting Policy Changes</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;color:#1F497D'><kbd style='margin-left:7.2pt'></kbd><span style='color:#000000'>The Company&#8217;s management has evaluated the recently issued accounting pronouncements through the filing date of these financial statements and has determined that the application of these pronouncements will not have a material impact on the Company&#8217;s financial position and results of operations.</span>&#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>34</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a15'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 7A - QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</b></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:7.2pt'></kbd>The Company had manufacturing operations, including related assets, in the U.S. denominated in the U.S. Dollar (USD), in Ireland denominated in the Euro (EUR), and in England denominated in the British Pound (GBP). UTMD also has trading activities in the U.S. and in subsidiaries in other countries denominated in the USD, EUR, GBP, the Australian Dollar (AUD) and the Canadian Dollar (CAD). &#160;The currencies are subject to exchange rate fluctuations that are beyond the control of UTMD. &#160;The exchange rates were .9351, .8790 and .8178 EUR per USD as of December 31, 2022, 2021 and 2020, respectively. &#160;Exchange rates were .8280, .7388 and .7319 GBP per USD as of December 31, 2022, 2021 and 2020, respectively. Exchange rates were 1.4695, 1.3759 and 1.2974 AUD per USD on December 31, 2022, 2021 and 2020, respectively. Exchange rates were 1.3532, 1.2656 and 1.2754 CAD per USD on December 31, 2022, 2021, and 2020, respectively. Please see note 1 in Item, 8, below under &#8220;Translation of Foreign Currencies&#8221; for more information. &#160;UTMD manages its foreign currency risk without separate hedging transactions by either invoicing customers in the local currency where costs of production were incurred, or by converting currencies as transactions occur.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a16'></a><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><b>ITEM 8 - FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</b></p>
<p style='font:10pt Times New Roman;margin:0'>Currency amounts are in thousands except per-share amounts and where noted.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td colspan='2' valign='top' style='width:100%'><p style='font:10pt Times New Roman;margin:0;text-align:center'><b>TABLE OF CONTENTS</b></p>
</td></tr>
<tr><td valign='top' style='width:84.28%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:84.28%'><p style='font:10pt Times New Roman;margin:0'>Management&#8217;s Report on Internal Control Over Financial Reporting</p>
</td><td valign='top' style='background-color:#CCEEFF;width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>36</p>
</td></tr>
<tr><td valign='top' style='width:84.28%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:84.28%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'>Report of Independent Registered Public Accounting Firm (Haynie) on Financial Statements </p>
<p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'><kbd style='margin-left:18pt'></kbd>and the Company&#8217;s Internal Control Over Financial Reporting&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>37</p>
</td></tr>
<tr><td valign='top' style='width:84.28%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr style='height:11.5pt'><td valign='top' style='background-color:#CCEEFF;width:84.28%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'>Report of Independent Registered Public Accounting Firm (Nortons) on Financial Statements</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'><kbd style='margin-left:18pt'></kbd>and the Company&#8217;s Internal Control Over Financial Reporting&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>38</p>
</td></tr>
<tr><td valign='top' style='width:84.28%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:84.28%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'>Consolidated Balance Sheets</p>
</td><td valign='top' style='background-color:#CCEEFF;width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>39</p>
</td></tr>
<tr><td valign='top' style='width:84.28%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:84.28%'><p style='font:10pt Times New Roman;margin:0'>Consolidated Statements of Income and Comprehensive Income</p>
</td><td valign='top' style='background-color:#CCEEFF;width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>40</p>
</td></tr>
<tr><td valign='top' style='width:84.28%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:84.28%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'>Consolidated Statements of Cash Flow</p>
</td><td valign='top' style='background-color:#CCEEFF;width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>41</p>
</td></tr>
<tr><td valign='top' style='width:84.28%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:84.28%'><p style='font:10pt Times New Roman;margin:0'>Consolidated Statements of Stockholders&#8217; Equity</p>
</td><td valign='top' style='background-color:#CCEEFF;width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>42</p>
</td></tr>
<tr><td valign='top' style='width:84.28%'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:84.28%'><p style='font:10pt Times New Roman;margin:0;margin-right:42.3pt'>Notes to Consolidated Financial Statements</p>
</td><td valign='top' style='background-color:#CCEEFF;width:15.72%'><p style='font:10pt Times New Roman;margin:0;text-align:center'>43</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'>35</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'><b>MANAGEMENT&#8217;S REPORT ON INTERNAL CONTROL</b></p>
<p style='font:10pt Times New Roman;margin:0;text-align:center'><b>OVER FINANCIAL REPORTING</b></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:5pt;margin-bottom:5pt'>Management of the Company is responsible for establishing and maintaining adequate internal control over financial reporting as defined in Rules 13a-15(f) and 15d-15(f) under the Securities Exchange Act of 1934. The Company's internal control over financial reporting is designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with accounting principles generally accepted in the United States of America (&quot;GAAP&quot;). The Company's internal control over financial reporting includes those policies and procedures that </p>
<p style='font:10pt Times New Roman;margin:0;margin-left:18pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd>pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the Company; &#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:18pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd>provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with GAAP, and that receipts and expenditures of the Company are being made only in accordance with authorizations of management and directors of the Company; and &#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:18pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd>provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the Company's assets that could have a material effect on the financial statements. &#160;</p>
<p style='font:10pt Times New Roman;margin-top:5pt;margin-bottom:5pt'>Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate. </p>
<p style='font:10pt Times New Roman;margin-top:5pt;margin-bottom:5pt'>The Company&#8217;s management assessed the effectiveness of the Company's internal control over financial reporting as of December 31, 2022. In making this assessment, management used the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (COSO) in <i>Internal Control-Integrated Framework (2013)</i>. </p>
<p style='font:10pt Times New Roman;margin:0'>Based on its assessment and those criteria, management believes that the Company maintained effective internal control over financial reporting as of December 31, 2022. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>By: <span style='border-bottom:1px solid #000000'>/s/ Kevin L. Cornwell </span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Kevin L. Cornwell&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Chief Executive Officer&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>By: <span style='border-bottom:1px solid #000000'>/s/ Brian L. Koopman &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Brian L. Koopman&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>Principal Financial Officer&#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'>36</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:center'><b>REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt'>To the Board of Directors and<br/>Stockholders of Utah Medical Products, Inc. </p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'><b>Opinion on the Financial Statements</b></p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'>We have audited the accompanying balance sheets of Utah Medical Products, Inc. (the Company) as of December 31, 2022 and 2021, and the related statements of income, comprehensive income, stockholders&#8217; equity, and cash flows for each of the years in the three-year period ended December 31, 2022, and the related notes (collectively referred to as the financial statements). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2022 and 2021, and the results of its operations and its cash flows for each of the years in the three-year period ended December 31, 2022, in conformity with accounting principles generally accepted in the United States of America.</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'>We did not audit portions of the consolidated financial statements for Femcare Group Limited, a wholly owned subsidiary. The portions not audited by us include assets of $23,055,729 and $26,752,000 as of December 31, 2022 and 2021, respectively and total revenues of $4,333,431, $4,419,000 and $4,871,000 for the years ended December 31, 2022, 2021 and 2020, respectively. Those portions of the consolidated financial statements were audited by other auditors whose reports have been furnished to us, and our opinion, insofar as they relate to the amounts included for Femcare Group Limited is based solely on the reports of the other auditors.</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'><b>Basis for Opinion</b></p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'>These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (PCAOB) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'>We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits, we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion. </p>
<p style='font:10pt Times New Roman;margin:0'>Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'><b>Critical Audit Matters</b></p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'>The critical audit matters communicated below are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'><i>Evaluation of income taxes</i></p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'><span style='border-bottom:1px solid #000000'>Description of the Matter:</span></p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'>As discussed in Note 1 to the consolidated financial statements, the Company operates in many parts in the world through its&#8217; subsidiaries. The Company or one of its&#8217; subsidiaries will file a tax return in the U.S. federal jurisdiction, in the United Kingdom, in Australia, in Ireland, and in Canada. Due to the complexity with dealing in multiple currencies/countries, along with the various tax laws and significant management judgment, we believe the account to be a critical audit matter.</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'><span style='border-bottom:1px solid #000000'>How We Addressed the Matter in Our Audit:</span></p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify'>We evaluated the appropriateness and consistency of management's methods and assumptions used in the identification, recognition, measurement, and disclosures of its taxes. We performed a walkthrough of the processes and controls over the income tax process. We read and evaluated management's documentation, including relevant accounting policies and information obtained by management from the outside tax specialists engaged to assist with their taxes. We identified and evaluated the reasonableness of significant assumptions in the provision and evaluated for potential bias. We verified the account balances, reperformed the provision calculation of deferred tax assets and liabilities and verified all tax rates used.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-22.5pt;text-align:justify'>/s/ Haynie &amp; Company</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-22.5pt;text-align:justify'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-22.5pt;text-align:justify'><ix:nonNumeric name='dei:AuditorName' contextRef='Y22' escape='true'>Haynie &amp; Company</ix:nonNumeric></p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-22.5pt;text-align:justify'><ix:nonNumeric name='dei:AuditorLocation' contextRef='Y22' escape='true'>Salt Lake City, Utah</ix:nonNumeric> </p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-22.5pt;text-align:justify'>March 27, 2023</p>
<p style='font:10pt Times New Roman;margin:0;margin-right:-22.5pt;text-align:justify'>Firm ID: <ix:nonNumeric name='dei:AuditorFirmId' contextRef='Y22' escape='true'>457</ix:nonNumeric></p>
<p style='font:10pt Times New Roman;margin:0'>We have served as the Company&#8217;s auditor since 2018.</p>
<p style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;margin-right:-22.5pt'>&#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'>37</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:center'><b> </b>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt;text-align:center'><b>REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'>To the Board of Directors and Stockholders<br/>of Utah Medical Products, Inc .</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'><b>Opinion on the Financial Statements</b></p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'>We have audited the consolidated balance sheets of Femcare Group Limited (the Company), including its subsidiaries, as of December 31, 2022 and 2021, and the related consolidated statements of income, comprehensive income, stockholders&#8217; equity, for each of the years in the two-year period ended December 31, 2022, and the related notes (collectively referred to as the financial statements). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2022 and 2021, and the results of its operations and its cash flows for each of the years in the two-year period ended December 31, 2022, in conformity with accounting principles generally accepted in the United States of America.</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'><b>Basis for Opinion</b></p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'>These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (PCAOB) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB. </p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'>We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits, we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion. </p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'>Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'><b>Critical Audit Matters</b></p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'>The critical audit matters communicated below are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'>The accounting policy in respect of revenue is that revenue is recognised to the extent that it is probable that the economic benefits will flow to the Company and the revenue can be reliably measured. Revenue is measured as the fair value of the consideration received or receivable, excluding discounts, rebates, value added tax and other sales taxes.</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'>We identified the assessment of the revenue as a critical audit matter due to its inherent risk of understatement. The primary procedures we performed to address this critical audit matter included the following. We tested certain internal controls over the Company&#8217;s process for dispatching goods and raising invoices to customers. We tested a sample of orders during the year to establish that these were dispatched and invoiced. &#160;We evaluated the Company&#8217;s determination of the recoverability of any unpaid receivables at 31 December 2022.</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:12pt'>We also identified the assessment of the valuation of intangible assets as a critical audit matter. &#160;Intangible assets are valued at cost and amortised using the straight-line method over the useful economic life of the asset. Goodwill is carried at cost and tested for impairment annually. We identified the valuation of intangible assets and goodwill as a critical audit matter due to their materiality to the financial statements. We reviewed and tested the Company&#8217;s calculations in respect of amortisation and evaluated the Company&#8217;s determination of the carrying value as at 31 December 2022.</p>
<p style='font:10pt Times New Roman;margin:0;color:#000000'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;color:#000000'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>NORTONS ASSURANCE LIMITED</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>We have served as the Company&#8217;s auditor since 2011.</p>
<p style='font:10pt Times New Roman;margin:0'>Reading, United Kingdom</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>March 20, 2023</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'>38</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<table style='border-collapse:collapse;width:100%;margin-left:4.65pt'><tr style='height:12.75pt'><td colspan='4' valign='bottom' style='width:1412.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>UTAH MEDICAL PRODUCTS, INC.</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='4' valign='bottom' style='width:1412.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>CONSOLIDATED BALANCE SHEETS AS OF</span></p>
</td></tr>
<tr style='height:8.25pt'><td colspan='4' valign='bottom' style='width:1412.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>DECEMBER 31, 2022 AND 2021</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='4' valign='bottom' style='width:1412.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(In thousands)</p>
</td></tr>
<tr style='height:21pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:19.5pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'></td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td></tr>
<tr style='height:19.5pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:justify'><span style='border-bottom:1px solid #000000'>ASSETS</span></p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Current assets:</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Cash</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>75,052</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:CashAndCashEquivalentsAtCarryingValue' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>60,974</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Accounts and other receivables, net (note 2)</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,538</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableNetCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,132</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Inventories (note 2)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,814</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,596</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Prepaid expenses and other current assets</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssetsCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>515</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAssetsCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>456</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Total current assets</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AssetsCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>89,919</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AssetsCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>73,158</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Property and equipment, net (notes 4 and 10)</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,224</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,618</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:justify'>Goodwill</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Goodwill' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,354</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Goodwill' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,098</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Other intangible assets (note 2)</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>52,755</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>56,314</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Other intangible assets - accumulated amortization</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>42,378</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>38,552</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Other intangible assets, net (note 2)</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IntangibleAssetsNetExcludingGoodwill' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,377</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IntangibleAssetsNetExcludingGoodwill' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>17,762</ix:nonFraction></p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Total assets</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:Assets' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>123,874</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:Assets' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>115,636</ix:nonFraction></p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:justify'><span style='border-bottom:1px solid #000000'>LIABILITIES AND STOCKHOLDERS' EQUITY</span></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Current liabilities:</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Accounts payable</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:AccountsPayableCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,218</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:AccountsPayableCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>761</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Accrued expenses (note 2)</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,742</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,984</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Total current liabilities</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,960</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,745</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:justify'>Long term lease liability</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingLeaseLiabilityNoncurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>341</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingLeaseLiabilityNoncurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>396</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:justify'>Long term income tax payable (REPAT tax) (note 7)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,256</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,675</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:justify'>Deferred tax liability - intangible assets</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,514</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,105</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Deferred income taxes (note 7)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredIncomeTaxLiabilitiesNet' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>549</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredIncomeTaxLiabilitiesNet' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>577</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Total liabilities</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Liabilities' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,620</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Liabilities' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,498</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Commitments and contingencies (notes 6 and 12)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommitmentsAndContingencies' contextRef='E22' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommitmentsAndContingencies' contextRef='E21' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Stockholders' equity:</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Common stock, $<ix:nonFraction name='us-gaap:CommonStockParOrStatedValuePerShare' contextRef='E22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockParOrStatedValuePerShare' contextRef='E21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.01</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction name='us-gaap:CommonStockSharesAuthorized' contextRef='E22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesAuthorized' contextRef='E21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>50,000</ix:nonFraction></ix:nonFraction> shares authorized, issued <ix:nonFraction name='us-gaap:CommonStockSharesIssued' contextRef='E22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,628</ix:nonFraction></ix:nonFraction> shares in 2022 and <ix:nonFraction name='us-gaap:CommonStockSharesIssued' contextRef='E21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:CommonStockSharesOutstanding' contextRef='E21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,655</ix:nonFraction></ix:nonFraction> shares in 2021</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockValue' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>36</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CommonStockValue' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>37</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Accumulated other comprehensive loss</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1' contextRef='E22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,039</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1' contextRef='E21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,054</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Additional paid-in capital</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AdditionalPaidInCapitalCommonStock' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>251</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AdditionalPaidInCapitalCommonStock' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>841</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Retained earnings</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RetainedEarningsAccumulatedDeficit' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>126,006</ix:nonFraction></p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RetainedEarningsAccumulatedDeficit' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>115,314</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Total stockholders' equity</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>114,254</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:StockholdersEquity' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>107,138</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='background-color:#CCEEFF;width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Total liabilities and stockholders' equity</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:LiabilitiesAndStockholdersEquity' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>123,874</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;<ix:nonFraction name='us-gaap:LiabilitiesAndStockholdersEquity' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>115,636</ix:nonFraction></p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='width:746.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='font-size:8pt'><i>S</i><i>ee</i><i> accompanying notes to financial statements.</i></span></p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:34.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:315.2pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'></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'>39</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<table style='border-collapse:collapse;width:100%;margin-left:4.65pt'><tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:1412.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>UTAH MEDICAL PRODUCTS, INC.</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:1412.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME FOR THE</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:1412.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>YEARS ENDED DECEMBER 31, 2022, 2021 AND 2020</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:1412.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(In thousands, except per share amounts)</p>
</td></tr>
<tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:1412.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'></td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Sales, net (notes 1, 3, 9 and 11)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>52,281</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>49,054</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>42,178</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Cost of goods sold</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CostOfGoodsAndServicesSold' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20,085</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CostOfGoodsAndServicesSold' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>18,137</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CostOfGoodsAndServicesSold' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>16,630</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Gross profit</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>32,196</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>30,917</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>25,548</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Operating expense:</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Sales and marketing</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SellingAndMarketingExpense' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,507</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SellingAndMarketingExpense' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,414</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SellingAndMarketingExpense' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,554</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Research and development</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ResearchAndDevelopmentExpense' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>493</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ResearchAndDevelopmentExpense' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>526</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ResearchAndDevelopmentExpense' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>486</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'> General and administrative</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GeneralAndAdministrativeExpense' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,406</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GeneralAndAdministrativeExpense' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,097</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GeneralAndAdministrativeExpense' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,800</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Operating income</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingIncomeLoss' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>19,790</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingIncomeLoss' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>18,880</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingIncomeLoss' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,708</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Other income (expense):</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Dividend and interest income</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherInterestAndDividendIncome' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>661</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherInterestAndDividendIncome' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>166</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherInterestAndDividendIncome' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>112</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Royalty income (note 12)</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RoyaltyIncomeNonoperating' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RoyaltyIncomeNonoperating' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>15</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RoyaltyIncomeNonoperating' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Other, net</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>188</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y21' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherNonoperatingIncomeExpense' contextRef='Y20' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Income before provision for income taxes</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20,659</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>19,061</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,840</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Provision for income taxes (note 7)</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,186</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,273</ix:nonFraction></p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,042</ix:nonFraction></p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Net income</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>16,473</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,788</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,798</ix:nonFraction></p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Earnings per common share (basic) (note 1)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:EarningsPerShareBasic' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>4.53</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:EarningsPerShareBasic' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>4.05</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:EarningsPerShareBasic' contextRef='Y20' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>2.95</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Earnings per common share (diluted) (note 1)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>4.52</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>4.04</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y20' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>2.94</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Other comprehensive income (loss):</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:23.25pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Foreign currency translation net of taxes of $<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' contextRef='Y21' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'><ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></ix:nonFraction></ix:nonFraction> in all periods</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;(<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,986</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;(<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>773</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,502</ix:nonFraction></p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='background-color:#CCEEFF;width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Total comprehensive income</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.8pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ComprehensiveIncomeNetOfTax' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,487</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ComprehensiveIncomeNetOfTax' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,015</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ComprehensiveIncomeNetOfTax' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,300</ix:nonFraction></p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>&#160;</p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='width:648.55pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='font-size:8pt'><i>S</i><i>ee</i><i> accompanying notes to financial statements.</i></span></p>
</td><td valign='bottom' style='width:63.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:63.8pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:190.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</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'>40</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
<table style='border-collapse:collapse;width:100%;margin-left:4.65pt'><tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:479.5pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>UTAH MEDICAL PRODUCTS, INC.</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:479.5pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>CONSOLIDATED STATEMENTS OF CASH FLOW FOR THE</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:479.5pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>YEARS ENDED DECEMBER 31, 2022, 2021 AND 2020</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:479.5pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(In thousands)</p>
</td></tr>
<tr style='height:12.75pt'><td colspan='7' valign='bottom' style='width:479.5pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'></td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Cash flows from operating activities:</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Net income</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>16,473</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,788</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,798</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Adjustments to reconcile net income to net<br/> &#160;cash provided by operating activities:</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Depreciation</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>612</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>636</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Depreciation' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>655</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Amortization</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AmortizationOfIntangibleAssets' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,417</ix:nonFraction></p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AmortizationOfIntangibleAssets' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,645</ix:nonFraction></p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AmortizationOfIntangibleAssets' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,515</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Provision for losses on accounts receivable</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProvisionForDoubtfulAccounts' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>30</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProvisionForDoubtfulAccounts' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>24</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:ProvisionForDoubtfulAccounts' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Amortization of operating lease assets</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>53</ix:nonFraction></p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3</ix:nonFraction></p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>39</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Loss/(Gain) on disposal of assets</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:GainLossOnDispositionOfAssets' contextRef='Y22' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:GainLossOnDispositionOfAssets' contextRef='Y21' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:GainLossOnDispositionOfAssets' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Deferred income taxes</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>401</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>92</ix:nonFraction>)</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:DeferredIncomeTaxExpenseBenefit' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>26</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Stock-based compensation expense</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensation' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>183</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensation' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>166</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensation' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>160</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Tax benefit attributable to exercise of stock options</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DeferredTaxExpenseFromStockOptionsExercised' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6</ix:nonFraction></p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DeferredTaxExpenseFromStockOptionsExercised' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>39</ix:nonFraction></p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DeferredTaxExpenseFromStockOptionsExercised' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'> (Increase) decrease in:</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Accounts receivable</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsReceivable' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>511</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsReceivable' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,088</ix:nonFraction>)</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsReceivable' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>617</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Other receivables</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherReceivables' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherReceivables' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>42</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInOtherReceivables' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>45</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Inventories</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInInventories' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,353</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInInventories' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>485</ix:nonFraction>)</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInInventories' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>924</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Prepaid expenses and other current assets</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>64</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>81</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>108</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Increase (decrease) in:</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Accounts payable</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsPayable' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>464</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsPayable' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>23</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncreaseDecreaseInAccountsPayable' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>308</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:20.9pt'>Accrued expenses</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccruedLiabilities' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>252</ix:nonFraction></p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccruedLiabilities' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>713</ix:nonFraction></p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncreaseDecreaseInAccruedLiabilities' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>607</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Net cash provided by operating activities</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetCashProvidedByUsedInOperatingActivities' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>21,147</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetCashProvidedByUsedInOperatingActivities' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>21,203</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:NetCashProvidedByUsedInOperatingActivities' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20,137</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Cash flows from investing activities:</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Capital expenditures for:</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Property and equipment</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>809</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>552</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsToAcquirePropertyPlantAndEquipment' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>860</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Intangible assets</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:PaymentsToAcquireIntangibleAssets' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:PaymentsToAcquireIntangibleAssets' contextRef='Y21' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:PaymentsToAcquireIntangibleAssets' contextRef='Y20' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Net cash (used in) investing activities</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInInvestingActivities' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>818</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInInvestingActivities' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>552</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInInvestingActivities' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>860</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Cash flows from financing activities:</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Proceeds from issuance of common stock - options</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProceedsFromIssuanceOfCommonStock' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>174</ix:nonFraction></p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProceedsFromIssuanceOfCommonStock' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>560</ix:nonFraction></p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProceedsFromIssuanceOfCommonStock' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>358</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Common stock purchased and retired</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsForRepurchaseOfCommonStock' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,495</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PaymentsForRepurchaseOfCommonStock' contextRef='Y21' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsForRepurchaseOfCommonStock' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,976</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Dividends paid</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsOfDividends' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,163</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsOfDividends' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>11,465</ix:nonFraction>)</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:PaymentsOfDividends' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,116</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Net cash (used in) financing activities</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInFinancingActivities' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,484</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInFinancingActivities' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,905</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:NetCashProvidedByUsedInFinancingActivities' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,734</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Effect of exchange rate changes on cash</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>767</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>362</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>260</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:38.9pt'>Net increase in cash and cash equivalents</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,078</ix:nonFraction></p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,384</ix:nonFraction></p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,803</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Cash at beginning of year</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>60,974</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>51,590</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' contextRef='E19' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>42,787</ix:nonFraction></p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Cash at end of year</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>75,052</ix:nonFraction></p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>60,974</ix:nonFraction></p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;<ix:nonFraction name='us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>51,590</ix:nonFraction></p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt;border-top:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:13.5pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>SUPPLEMENTAL DISCLOSURE OF CASH FLOW INFORMATION:</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='background-color:#CCEEFF;width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Cash paid during the period for income taxes</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxesPaid' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,970</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxesPaid' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,617</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:IncomeTaxesPaid' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,186</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>Cash paid during the period for interest</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestPaid' contextRef='Y22' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestPaid' contextRef='Y21' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestPaid' contextRef='Y20' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;margin-left:10.1pt'>&#160;</p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:160.9pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='font-size:8pt'><i>S</i><i>ee</i><i> accompanying notes to financial statements.</i></span></p>
</td><td valign='bottom' style='width:27.65pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:81.25pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.7pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:73.05pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</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'>41</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%;margin-left:4.3pt'><tr style='height:12.75pt'><td colspan='12' valign='bottom' style='width:1412.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>UTAH MEDICAL PRODUCTS, INC.</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='12' valign='bottom' style='width:1412.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY FOR THE</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='12' valign='bottom' style='width:1412.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>YEARS ENDED DECEMBER 31, 2022, 2021 AND 2020</span></p>
</td></tr>
<tr style='height:12.75pt'><td colspan='12' valign='bottom' style='width:1412.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>(In thousands)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Accumulated</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Additional</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Other</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Total</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td colspan='3' valign='bottom' style='width:263.15pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Common Stock</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Paid-in</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Comprehensive</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Retained</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Stockholders'</p>
</td></tr>
<tr style='height:12.75pt'><td valign='bottom' style='width:345.35pt'></td><td valign='bottom' style='width:113.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Shares</p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:121pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Amount</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Capital</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Income</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Earnings</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Equity</p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Balance at December 31, 2019</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:113.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:SharesOutstanding' contextRef='E19_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,722</ix:nonFraction></p>
</td><td valign='middle' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:121pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E19_StEqComps-CommonStock' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>37</ix:nonFraction></p>
</td><td valign='middle' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:150.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E19_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>18</ix:nonFraction></p>
</td><td valign='middle' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:199.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E19_StEqComps-ComprIncome' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,782</ix:nonFraction>)</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:158.3pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E19_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>110,820</ix:nonFraction></p>
</td><td valign='middle' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:180.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E19' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>101,093</ix:nonFraction></p>
</td></tr>
<tr style='height:25.5pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Shares issued upon exercise of employee <br/> &#160;stock options for cash</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised' contextRef='Y20_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>8</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y20_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y20_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>358</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y20_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y20_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>358</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Stock option compensation expense</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y20_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y20_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y20_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>160</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y20_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y20_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>160</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Common stock purchased and retired</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodShares' contextRef='Y20_StEqComps-CommonStock' sign='-' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>87</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y20_StEqComps-CommonStock' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y20_StEqComps-AddPaidInCap' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>421</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y20_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y20_StEqComps-RetainedEarnings' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,555</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,976</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Foreign currency translation adjustment</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y20_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y20_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y20_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y20_StEqComps-ComprIncome' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,502</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y20_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,502</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Common stock dividends</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y20_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y20_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y20_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y20_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y20_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,112</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,112</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Net income</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,798</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,798</ix:nonFraction></p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Balance at December 31, 2020</p>
</td><td valign='middle' style='width:113.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:SharesOutstanding' contextRef='E20_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,643</ix:nonFraction></p>
</td><td valign='middle' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:121pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E20_StEqComps-CommonStock' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>36</ix:nonFraction></p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:150.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E20_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>115</ix:nonFraction></p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:199.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E20_StEqComps-ComprIncome' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,280</ix:nonFraction>)</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:158.3pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E20_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>110,951</ix:nonFraction></p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:180.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>102,822</ix:nonFraction></p>
</td></tr>
<tr style='height:25.5pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Shares issued upon exercise of employee <br/> &#160;stock options for cash</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised' contextRef='Y21_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>14</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y21_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>787</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y21_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>787</ix:nonFraction></p>
</td></tr>
<tr style='height:25.5pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Shares received and retired upon exercise <br/> &#160;of stock options</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' contextRef='Y21_StEqComps-CommonStock' sign='-' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>2</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y21_StEqComps-AddPaidInCap' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>227</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y21_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>227</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Stock option compensation expense</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y21_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>166</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y21_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>166</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Common stock purchased and retired</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodShares' contextRef='Y21_StEqComps-CommonStock' unitRef='Shares' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y21_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y21_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y21' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Foreign currency translation adjustment</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y21_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y21_StEqComps-ComprIncome' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>773</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>773</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Common stock dividends</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y21_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y21_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,425</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,425</ix:nonFraction>)</p>
</td></tr>
<tr style='height:12.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Net income</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,788</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,788</ix:nonFraction></p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Balance at December 31, 2021</p>
</td><td valign='middle' style='width:113.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:SharesOutstanding' contextRef='E21_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,655</ix:nonFraction></p>
</td><td valign='middle' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:121pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E21_StEqComps-CommonStock' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>36</ix:nonFraction></p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:150.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E21_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>842</ix:nonFraction></p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:199.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E21_StEqComps-ComprIncome' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,053</ix:nonFraction>)</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:158.3pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E21_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>115,314</ix:nonFraction></p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:180.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>107,138</ix:nonFraction></p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Shares issued upon exercise of employee <br/> &#160;stock options for cash</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised' contextRef='Y22_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>4</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y22_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>211</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y22_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y22_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>211</ix:nonFraction></p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Shares received and retired upon exercise <br/> &#160;of stock options</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' contextRef='Y22_StEqComps-CommonStock' sign='-' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>1</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y22_StEqComps-AddPaidInCap' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>37</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y22_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y22_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>37</ix:nonFraction>)</p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Stock option compensation expense</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y22_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>183</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y22_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y22_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockOptionPlanExpense' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>183</ix:nonFraction></p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Common stock purchased and retired</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodShares' contextRef='Y22_StEqComps-CommonStock' sign='-' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>30</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y22_StEqComps-AddPaidInCap' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>947</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y22_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y22_StEqComps-RetainedEarnings' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,548</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockRepurchasedAndRetiredDuringPeriodValue' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,495</ix:nonFraction>)</p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Foreign currency translation adjustment</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y22_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y22_StEqComps-ComprIncome' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,986</ix:nonFraction>)</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y22_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,986</ix:nonFraction>)</p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Common stock dividends</p>
</td><td valign='bottom' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y22_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y22_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y22_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,233</ix:nonFraction>)</p>
</td><td valign='bottom' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:DividendsCommonStockCash' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,233</ix:nonFraction>)</p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='background-color:#CCEEFF;width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Net income</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:113.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:121pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22_StEqComps-CommonStock' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:150.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:199.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22_StEqComps-ComprIncome' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:158.3pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>16,473</ix:nonFraction></p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='background-color:#CCEEFF;width:180.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>16,473</ix:nonFraction></p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'> Balance at December 31, 2022</p>
</td><td valign='middle' style='width:113.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'> &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:SharesOutstanding' contextRef='E22_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,628</ix:nonFraction></p>
</td><td valign='middle' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:121pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E22_StEqComps-CommonStock' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>36</ix:nonFraction></p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:150.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E22_StEqComps-AddPaidInCap' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>252</ix:nonFraction></p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:199.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E22_StEqComps-ComprIncome' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,039</ix:nonFraction>)</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:158.3pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E22_StEqComps-RetainedEarnings' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>126,006</ix:nonFraction></p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:180.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonFraction name='us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>114,255</ix:nonFraction></p>
</td></tr>
<tr style='height:18.75pt'><td valign='middle' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='middle' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:18.75pt'><td valign='bottom' style='width:345.35pt'><p style='font:10pt Times New Roman;margin:0'><span style='font-size:8pt'><i>S</i><i>ee</i><i> accompanying notes to financial statements.</i></span></p>
</td><td valign='middle' style='width:113.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:121pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:150.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:199.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:158.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:28.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:180.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'></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'>42</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>Utah Medical Products, Inc.</p>
<p style='font:10pt Times New Roman;margin:0;text-align:center'>Notes to Consolidated Financial Statements</p>
<p style='font:10pt Times New Roman;margin:0;text-align:center'>Years Ended December 31, 2022, 2021 and 2020</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Currency amounts are in thousands except per-share amounts and where noted.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:SignificantAccountingPoliciesTextBlock' contextRef='Y22' escape='true' continuedAt='c1'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 1 &#8211;&#160;Summary of Significant Accounting Policies</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Organization</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Utah Medical Products, Inc. with headquarters in Midvale, Utah and its wholly-owned operating subsidiaries, Femcare Limited located in Romsey, Hampshire, England, Femcare Australia Pty Ltd located in Castle Hill, NSW, Australia, Utah Medical Products Canada, Inc. (dba Femcare Canada) located in Mississauga, Ontario, Canada and Utah Medical Products Ltd., which operates a manufacturing facility in Athlone, Ireland, (in the aggregate, the Company) are in the primary business of developing, manufacturing and globally distributing specialized medical devices for the healthcare industry. &#160;The Company&#8217;s broad range of products includes those used in critical care areas and the labor and delivery departments of hospitals, as well as outpatient clinics and physicians&#8217; offices. &#160;Products are sold directly to end-user facilities in the U.S., Ireland, UK, Canada, France and Australia, and through third party distributors in other outside the U.S. (OUS) markets. &#160;Domestically, until February 1, 2019, Femcare had an exclusive U.S. distribution relationship with CooperSurgical, Inc. (CSI) for the Filshie Clip System. &#160;UTMD also sells subcontract manufactured components and finished products to over 150 companies in the U.S. for their medical and non-medical products.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:UseOfEstimates' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Use of Estimates in the Preparation of Financial Statements</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities 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;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:ConsolidationPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Principles of Consolidation</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation. </p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:CashAndCashEquivalentsPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Cash and Cash Equivalents</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:ConcentrationRiskDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Concentration of Credit Risk</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December 31, 2022 except under an extreme global financial crisis.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances. </p>
</ix:nonNumeric><p style='font:10pt Times New Roman;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'>43</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><ix:continuation id='c1' continuedAt='c2'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:ReceivablesPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Accounts Receivable</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. &#160;Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:InventoryPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Inventories</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2). </p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Property and Equipment</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td colspan='2' valign='top' style='width:391.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:298.8pt'><p style='font:10pt Times New Roman;margin:0'>Building and improvements</p>
</td><td valign='middle' style='width:92.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Minimum_PpeByType-BuildingAndBuildingImprovements' format='ixt-sec:duryear'>15</ix:nonNumeric> - <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Maximum_PpeByType-BuildingAndBuildingImprovements' format='ixt-sec:duryear'>40</ix:nonNumeric> years</p>
</td></tr>
<tr><td valign='top' style='width:298.8pt'><p style='font:10pt Times New Roman;margin:0'>Furniture, equipment and tooling</p>
</td><td valign='middle' style='width:92.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Minimum_PpeByType-Equipment' format='ixt-sec:duryear'>3</ix:nonNumeric> - <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentUsefulLife' contextRef='Y22_Range-Maximum_PpeByType-Equipment' format='ixt-sec:duryear'>10</ix:nonNumeric> years</p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Long-Lived Assets</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#8220;Accounting for the Impairment of Long-Lived Assets.&#8221; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. &#160;When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made. </p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Intangible Assets</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from <ix:nonNumeric name='us-gaap:FiniteLivedIntangibleAssetUsefulLife' contextRef='Y22_Range-Minimum' format='ixt-sec:duryear'>5</ix:nonNumeric> to <ix:nonNumeric name='us-gaap:FiniteLivedIntangibleAssetUsefulLife' contextRef='Y22_Range-Maximum' format='ixt-sec:duryear'>20</ix:nonNumeric> years. UTMD&#8217;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2022, using the 2022 year-end <ix:nonFraction name='fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD' contextRef='E22' unitRef='Pure' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.2077</ix:nonFraction> USD/GBP and <ix:nonFraction name='fil:ForeignCurrencyExchangeRateTranslationAUDtoUSD' contextRef='E22' unitRef='Pure' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.6805</ix:nonFraction> USD/AUD currency exchange rates, is about $<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,617</ix:nonFraction> in 2023, $<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,933</ix:nonFraction> in 2024, $<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,933</ix:nonFraction> in 2025, $<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>424</ix:nonFraction> in 2026, and $<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12</ix:nonFraction> in 2027 (see note 2).</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>In 2019, $<ix:nonFraction name='us-gaap:FinitelivedIntangibleAssetsAcquired1' contextRef='Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>21,000</ix:nonFraction> in intangible assets were acquired from CSI. &#160;The future amortization expenses on those assets are estimated to be $<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' contextRef='E22_DistributionRightsAcquisition-CoopersurgicalInc' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,864</ix:nonFraction> in 2023 (see note 15).</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;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'>44</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><ix:continuation id='c2'> <ix:nonNumeric name='us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Stock-Based Compensation </span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>At December 31, 2022, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, Share-Based Payment. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2022, the Company recognized $<ix:nonFraction name='us-gaap:AllocatedShareBasedCompensationExpense' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>183</ix:nonFraction> in stock-based compensation cost compared to $<ix:nonFraction name='us-gaap:AllocatedShareBasedCompensationExpense' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>166</ix:nonFraction> in 2021 and $<ix:nonFraction name='us-gaap:AllocatedShareBasedCompensationExpense' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>160</ix:nonFraction> in 2020.</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:RevenueRecognitionPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Revenue Recognition</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#8217;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#8217;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for other companies. &#160;This revenue is recognized when UTMD&#8217;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. </p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'> &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:IncomeTaxPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Income Taxes</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company accounts for income taxes under ASC 740, &#8220;Accounting for Income Taxes,&#8221; whereby deferred taxes are computed under the asset and liability method. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company accounts for deferred taxes under ASC 740, &#8220;Accounting for Income Taxes&#8221;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#8217;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2022 or 2021. &#160;In 2020 the Company paid tax penalties of $<ix:nonFraction name='us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4</ix:nonFraction>. </p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:LegalCostsPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Legal Costs</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2022 and 2021 was  $<ix:nonFraction name='us-gaap:LitigationReserve' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>204</ix:nonFraction> and $<ix:nonFraction name='us-gaap:LitigationReserve' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>96</ix:nonFraction>, respectively (see note 2).</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:EarningsPerSharePolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Earnings per Share</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>The shares (in thousands) used in the computation of the Company&#8217;s basic and diluted earnings per share are reconciled as follows:</p>
<ix:nonNumeric name='us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:737.7pt'></td><td valign='top' style='width:84.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:52.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:84.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:52.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:84.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:737.7pt'><p style='font:10pt Times New Roman;margin:0'> Weighted average number of shares outstanding &#8211;&#160;basic</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,637</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:52.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,647</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:52.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,658</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:737.7pt'><p style='font:10pt Times New Roman;margin:0'> Dilutive effect of stock options</p>
</td><td valign='top' style='width:84.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment' contextRef='Y22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>6</ix:nonFraction></p>
</td><td valign='top' style='width:52.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:84.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment' contextRef='Y21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>13</ix:nonFraction></p>
</td><td valign='top' style='width:52.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:84.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment' contextRef='Y20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>14</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:737.7pt'><p style='font:10pt Times New Roman;margin:0'> Weighted average number of shares outstanding, assuming dilution</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,643</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:52.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,660</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:52.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,672</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric></ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='fil:PresentationOfSalesAndSimilarTaxesTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Presentation of Sales and Similar Taxes</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2022 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'> &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Translation of Foreign Currencies</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Assets and liabilities of the Company&#8217;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#8217;s assets and liabilities are reflected as a separate component of stockholders&#8217; equity. &#160;A negative translation impact on stockholders&#8217; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, as applicable.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year. </p>
</ix:nonNumeric></ix:continuation><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>45</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><ix:nonNumeric name='us-gaap:SupplementalBalanceSheetDisclosuresTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 2 &#8211;&#160;Detail of Certain Balance Sheet Accounts</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:801.15pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='4' valign='bottom' style='width:272.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>December 31,</p>
</td></tr>
<tr><td valign='top' style='width:801.15pt'></td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:85.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td></tr>
<tr><td valign='top' style='width:801.15pt'><p style='font:10pt Times New Roman;margin:0'>Accounts and other receivables:</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.6pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:801.15pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Accounts receivable&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableGrossCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,720</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.6pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsReceivableGrossCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,287</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:801.15pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Accrued interest and other&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestReceivableAndOtherAssets' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>51</ix:nonFraction></p>
</td><td valign='top' style='width:85.6pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InterestReceivableAndOtherAssets' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>39</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:801.15pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Less allowance for doubtful accounts&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>182</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.6pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>156</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='width:801.15pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:46.8pt'></kbd>Total accounts and other receivables&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsAndOtherReceivablesNetCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,589</ix:nonFraction></p>
</td><td valign='top' style='width:85.6pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccountsAndOtherReceivablesNetCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,170</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric> <ix:nonNumeric name='us-gaap:ScheduleOfInventoryCurrentTableTextBlock' contextRef='Y22' escape='true'><p style='font:11pt Times New Roman;margin:0'></p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:800.95pt'><p style='font:10pt Times New Roman;margin:0'>Inventories:</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>.</p>
</td><td valign='top' style='width:85.7pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt'></td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:800.95pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Finished products&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryFinishedGoodsNetOfReserves' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,896</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.7pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryFinishedGoodsNetOfReserves' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,468</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:800.95pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Work-in-process&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryWorkInProcess' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,193</ix:nonFraction></p>
</td><td valign='top' style='width:85.7pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryWorkInProcess' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,398</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:800.95pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Raw materials&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryRawMaterials' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,725</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.7pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryRawMaterials' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,730</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:800.95pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:46.8pt'></kbd>Total inventories&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,814</ix:nonFraction></p>
</td><td valign='top' style='width:85.7pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:InventoryNet' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,596</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><ix:nonNumeric name='us-gaap:ScheduleOfGoodwillTextBlock' contextRef='Y22' escape='true'><table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:799.95pt'><p style='font:10pt Times New Roman;margin:0'>Goodwill:</p>
</td><td valign='top' style='width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.6pt'></td><td valign='top' style='width:85.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.6pt'></td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:799.95pt'><p style='font:10pt Times New Roman;margin:0'>Balance as of January 1</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Goodwill' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,098</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Goodwill' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,164</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:799.95pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Effect of foreign exchange&#160;</p>
</td><td valign='top' style='width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:GoodwillForeignCurrencyTranslationGainLoss' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>744</ix:nonFraction>)</p>
</td><td valign='top' style='width:85.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:GoodwillForeignCurrencyTranslationGainLoss' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>66</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:799.95pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Subtractions as a result of impairment&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GoodwillImpairmentLoss' contextRef='Y22' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GoodwillImpairmentLoss' contextRef='Y21' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:799.95pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:46.8pt'></kbd>Total Goodwill as of December 31&#160;</p>
</td><td valign='top' style='width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Goodwill' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,354</ix:nonFraction></p>
</td><td valign='top' style='width:85.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Goodwill' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,098</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><ix:nonNumeric name='us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock' contextRef='Y22' escape='true'><p style='font:11pt Times New Roman;margin:0'></p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:798pt'><p style='font:10pt Times New Roman;margin:0'>Other Identifiable Intangible Assets:</p>
</td><td valign='top' style='width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt'></td><td valign='top' style='width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt'></td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Patents&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedPatentsGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,198</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedPatentsGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,212</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Non-compete agreements&#160;</p>
</td><td valign='top' style='width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedNoncompeteAgreementsGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>121</ix:nonFraction></p>
</td><td valign='top' style='width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedNoncompeteAgreementsGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>135</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Trademarks &amp; trade names&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedTrademarksGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,887</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedTrademarksGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,930</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Customer relationships&#160;</p>
</td><td valign='top' style='width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedCustomerRelationshipsGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,635</ix:nonFraction></p>
</td><td valign='top' style='width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedCustomerRelationshipsGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,678</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Distribution agreements&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherFiniteLivedIntangibleAssetsGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>21,000</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherFiniteLivedIntangibleAssetsGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>21,000</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd><span style='-sec-ix-hidden:fact5'><span style='-sec-ix-hidden:fact6'>Right-of-Use</span></span> Asset&#160;</p>
</td><td valign='top' style='width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingLeaseRightOfUseAsset' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>395</ix:nonFraction></p>
</td><td valign='top' style='width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingLeaseRightOfUseAsset' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>449</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Regulatory approvals &amp; product certifications&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>11,519</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,910</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:46.8pt'></kbd>Total Other Identifiable Intangible Assets&#160;</p>
</td><td valign='top' style='width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>52,755</ix:nonFraction></p>
</td><td valign='top' style='width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:85.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>56,314</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Accumulated amortization&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>42,378</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>38,552</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='width:798pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:46.8pt'></kbd> Other Identifiable Intangible Assets, Net&#160;</p>
</td><td valign='top' style='width:21.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsNet' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,377</ix:nonFraction></p>
</td><td valign='top' style='width:84.8pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:FiniteLivedIntangibleAssetsNet' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>17,762</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric> <ix:nonNumeric name='us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock' contextRef='Y22' escape='true'><p style='font:11pt Times New Roman;margin:0'></p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:800.85pt'><p style='font:10pt Times New Roman;margin:0'>Accrued expenses:</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt'></td><td valign='top' style='width:85.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt'></td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:800.85pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Income taxes payable (receivable)&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedIncomeTaxesCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>337</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedIncomeTaxesCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>36</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:800.85pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Payroll and payroll taxes&#160;</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EmployeeRelatedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,318</ix:nonFraction></p>
</td><td valign='top' style='width:85.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EmployeeRelatedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,225</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:800.85pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Reserve for litigation costs&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LitigationReserveCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>204</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LitigationReserveCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>96</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:800.85pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Other&#160;</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAccruedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,883</ix:nonFraction></p>
</td><td valign='top' style='width:85.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.7pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OtherAccruedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,627</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:800.85pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:46.8pt'></kbd>Total accrued expenses&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,742</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:AccruedLiabilitiesCurrent' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,984</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric></ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:QuarterlyFinancialInformationTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 3 &#8211;&#160;Quarterly Results of Operations (Unaudited)</span></p>
<ix:nonNumeric name='us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='10' valign='bottom' style='width:832.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Unaudited Quarterly Data for 2022</p>
</td></tr>
<tr><td valign='top' style='width:520.2pt'></td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>First Quarter</p>
</td><td valign='bottom' style='width:49.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:29.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Second Quarter</p>
</td><td valign='bottom' style='width:49.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:29.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Third Quarter</p>
</td><td valign='bottom' style='width:49.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:29.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Fourth Quarter</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Net Sales</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q1' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,323</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q2' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,428</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q3' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,955</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22Q4' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,575</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Gross Profit</p>
</td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y22Q1' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7,533</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y22Q2' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,151</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y22Q3' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,186</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y22Q4' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,327</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Net Income</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22Q1' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,534</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22Q2' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,103</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22Q3' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,280</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22Q4' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,555</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Earnings Per Common Share (Diluted)</p>
</td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y22Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.96</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y22Q2' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.12</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y22Q3' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.18</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y22Q4' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.25</ix:nonFraction></p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='10' valign='bottom' style='width:832.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Unaudited Quarterly Data for 2021</p>
</td></tr>
<tr><td valign='top' style='width:520.2pt'></td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>First Quarter</p>
</td><td valign='bottom' style='width:49.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:29.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Second Quarter</p>
</td><td valign='bottom' style='width:49.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:29.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Third Quarter</p>
</td><td valign='bottom' style='width:49.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:29.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Fourth Quarter</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Net Sales</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21Q1' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,964</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21Q2' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,604</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21Q3' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,572</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21Q4' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,914</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Gross Profit</p>
</td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y21Q1' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,947</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y21Q2' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7,785</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y21Q3' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,073</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y21Q4' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,112</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Net Income</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21Q1' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,024</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21Q2' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,426</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21Q3' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,206</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21Q4' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,131</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Earnings Per Common Share (Diluted)</p>
</td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y21Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.83</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y21Q2' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.94</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y21Q3' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.15</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y21Q4' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>1.13</ix:nonFraction></p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='10' valign='bottom' style='width:832.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Unaudited Quarterly Data for 2020</p>
</td></tr>
<tr><td valign='top' style='width:520.2pt'></td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>First Quarter</p>
</td><td valign='bottom' style='width:49.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:29.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Second Quarter</p>
</td><td valign='bottom' style='width:49.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:29.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Third Quarter</p>
</td><td valign='bottom' style='width:49.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:29.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Fourth Quarter</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Net Sales</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20Q1' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,902</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20Q2' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,787</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20Q3' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,479</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20Q4' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,010</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Gross Profit</p>
</td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y20Q1' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,836</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y20Q2' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,950</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y20Q3' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,497</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:GrossProfit' contextRef='Y20Q4' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7,265</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Net Income</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20Q1' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,140</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20Q2' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,313</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20Q3' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,933</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:148.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20Q4' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,412</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:520.2pt'><p style='font:10pt Times New Roman;margin:0'>Earnings Per Common Share (Diluted)</p>
</td><td valign='top' style='width:29.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:30.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y20Q1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.84</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y20Q2' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.36</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y20Q3' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.80</ix:nonFraction></p>
</td><td valign='top' style='width:49.55pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:29.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:148.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y20Q4' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.94</ix:nonFraction></p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;color:#000000'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'></p>
</ix:nonNumeric></ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
 <ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 4 &#8211;&#160;Property and Equipment</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Property and equipment consists of the following:</p>
<ix:nonNumeric name='us-gaap:PropertyPlantAndEquipmentTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:645.6pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='4' valign='bottom' style='width:382.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>December 31,</p>
</td></tr>
<tr><td valign='top' style='width:645.6pt'></td><td valign='top' style='width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:154.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:3.1pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:67.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:157.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:645.6pt'><p style='font:10pt Times New Roman;margin:0'>Land</p>
</td><td valign='top' style='background-color:#CCEEFF;width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:154.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,593</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:3.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:157.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,690</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:645.6pt'><p style='font:10pt Times New Roman;margin:0'>Buildings and improvements</p>
</td><td valign='top' style='width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:154.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,601</ix:nonFraction></p>
</td><td valign='top' style='width:3.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:157.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,172</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:645.6pt'><p style='font:10pt Times New Roman;margin:0'>Furniture, equipment and tooling</p>
</td><td valign='top' style='background-color:#CCEEFF;width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:154.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>17,068</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:3.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:157.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>16,660</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:645.6pt'><p style='font:10pt Times New Roman;margin:0'>Construction-in-progress</p>
</td><td valign='top' style='width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:154.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>906</ix:nonFraction></p>
</td><td valign='top' style='width:3.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:157.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>898</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:645.6pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Total&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>33,168</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:3.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>33,420</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:645.6pt'><p style='font:10pt Times New Roman;margin:0'>Accumulated depreciation</p>
</td><td valign='top' style='width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:154.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>22,944</ix:nonFraction>)</p>
</td><td valign='top' style='width:3.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:157.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>22,802</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:645.6pt'><p style='font:10pt Times New Roman;margin:0'>Property and equipment, net</p>
</td><td valign='top' style='background-color:#CCEEFF;width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,224</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:3.1pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:67.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,618</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Included in the Company&#8217;s consolidated balance sheet are the assets of its manufacturing and administrative facilities in Utah, Canada, England, Australia and Ireland. &#160;Property and equipment, by geographic area, are as follows:</p>
<ix:nonNumeric name='fil:PropertyPlantAndEquipmentByLocationTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:23.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='10' valign='bottom' style='width:652.15pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Dutch801SWC;margin:0;text-align:center'><span style='font-family:Times New Roman'>December 31, 2022</span></p>
</td></tr>
<tr><td valign='top' style='width:398.15pt'></td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:23.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>U.S. &amp; Canada</p>
</td><td valign='bottom' style='width:36.5pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:23.25pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>England &amp; Australia </p>
</td><td valign='bottom' style='width:36.5pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:23.25pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Ireland</p>
</td><td valign='bottom' style='width:36.5pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:23.25pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:118.45pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Total</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Land</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E22_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>621</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E22_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>605</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E22_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>367</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,593</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Buildings and improvements</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E22_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,566</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:119pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E22_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,043</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:117.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E22_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,992</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,601</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Furniture, equipment and tooling</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E22_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,950</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E22_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>693</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:117.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E22_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,425</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>17,068</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Construction-in-progress</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E22_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>412</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:119pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E22_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:117.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E22_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>494</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>906</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:398.15pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Total&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E22_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>22,549</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E22_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,341</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E22_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,278</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>33,168</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Accumulated depreciation</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E22_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>18,369</ix:nonFraction>)</p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:119pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E22_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,229</ix:nonFraction>)</p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:117.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E22_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,346</ix:nonFraction>)</p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.45pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>22,944</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Property and equipment, net</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,180</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,112</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,932</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,224</ix:nonFraction></p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:23.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='10' valign='bottom' style='width:652.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Dutch801SWC;margin:0;text-align:center'><span style='font-family:Times New Roman'>December 31, 2021</span></p>
</td></tr>
<tr><td valign='top' style='width:398.15pt'></td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:23.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>U.S. &amp; Canada</p>
</td><td valign='bottom' style='width:36.5pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:23.25pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>England &amp; Australia </p>
</td><td valign='bottom' style='width:36.5pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:23.25pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Ireland</p>
</td><td valign='bottom' style='width:36.5pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:23.25pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Total</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Land</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E21_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>621</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E21_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>678</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E21_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>391</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:Land' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,690</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Buildings and improvements</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E21_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,541</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:119pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E21_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,384</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:117.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E21_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,247</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:BuildingsAndImprovementsGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,172</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Furniture, equipment and tooling</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E21_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,608</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E21_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>752</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:117.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E21_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,300</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:MachineryAndEquipmentGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>16,660</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Construction-in-progress</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E21_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>412</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:119pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E21_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:117.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E21_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>484</ix:nonFraction></p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ConstructionInProgressGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>898</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:398.15pt'><p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:19.8pt'></kbd>Total&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E21_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>22,182</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E21_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,816</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E21_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,422</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentGross' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>33,420</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Accumulated depreciation</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E21_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>18,168</ix:nonFraction>)</p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:119pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E21_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,164</ix:nonFraction>)</p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:117.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E21_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,470</ix:nonFraction>)</p>
</td><td valign='top' style='width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:118.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>22,802</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:398.15pt'><p style='font:10pt Times New Roman;margin:0'>Property and equipment, net</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21_StGeo-U.S.AndCanada' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,014</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21_StGeo-EnglandAndAustralia' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,652</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21_StGeo-IE' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,952</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:23.25pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:PropertyPlantAndEquipmentNet' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,618</ix:nonFraction></p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;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'>46</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/> <ix:nonNumeric name='us-gaap:LongTermDebtTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 5 &#8211;&#160;Long-term Debt</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><ix:nonFraction name='us-gaap:LongTermDebt' contextRef='E22' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:LongTermDebt' contextRef='E21' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'>None</ix:nonFraction></ix:nonFraction> in 2021 and 2022.</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&#160;</p>
<ix:nonNumeric name='us-gaap:CommitmentsAndContingenciesDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'><span style='border-bottom:1px solid #000000'>Note 6 &#8211;&#160;Commitments and Contingencies</span></p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Purchase Obligations</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company has obligations to purchase raw materials for use in its manufacturing operations. &#160;The Company has the right to make changes in, among other things, purchase quantities, delivery schedules and order acceptance.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Product Liability</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company is self-insured for product liability risk. &#8220;Product liability&#8221; is an insurance industry term for the cost of legal defense and damages awarded to patients allegedly injured as a result of use of a company&#8217;s product. &#160;The Company maintains a reserve to cover product liability litigation expenses and possible damages consistent with its experience going back decades. Although actual product liability litigation expense at $<ix:nonFraction name='fil:LitigationExpense' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>670</ix:nonFraction> was substantially higher in 2022 relative to history, costs during the prior two reporting years were immaterial. There were no product liability damages in any of the three reporting years, which is consistent with the Company&#8217;s long-term history. &#160;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company absorbs the costs of clinical training and trouble-shooting in its on-going operating expenses.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Warranty Reserve</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company&#8217;s published warranty is: &#8220;UTMD warrants its products to conform in all material respects to all published product specifications in effect on the date of shipment, and to be free from defects in material and workmanship for a period of thirty (30) days for supplies, or twenty-four (24) months for equipment, from date of shipment. &#160;During the warranty period UTMD shall, at its option, replace any products shown to UTMD's reasonable satisfaction to be defective at no expense to the Purchaser or refund the purchase price.&#8221; </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>UTMD maintains a warranty reserve to provide for estimated costs which are likely to occur. The amount of this reserve is adjusted, as required, to reflect its actual experience. Based on its analysis of historical warranty claims and its estimate that existing warranty obligations are immaterial, <ix:nonFraction name='us-gaap:ProductWarrantyAccrual' contextRef='E22' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'><ix:nonFraction name='us-gaap:ProductWarrantyAccrual' contextRef='E21' unitRef='USD' decimals='INF' format='ixt-sec:numwordsen'>no</ix:nonFraction></ix:nonFraction> warranty reserve was made at December 31, 2022 or December 31, 2021. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Litigation</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of a medical device business. &#160;Presently, except for the Filshie clip lawsuits by a single U.S. law firm, there is no litigation or threatened litigation. &#160;The Company does not expect the outcome of the Filshie clip litigation will be material to consolidated financial results. The Company applies its accounting policy to accrue legal costs that can be reasonably estimated. </p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'> &#160;</p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>47</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><ix:nonNumeric name='us-gaap:IncomeTaxDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 7 &#8211;&#160;Income Taxes &#160;</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Deferred tax assets (liabilities) consist of the following temporary differences:</p>
<ix:nonNumeric name='us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:99.98%'><tr><td valign='top' style='width:608.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='7' valign='middle' style='width:465.45pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>December 31,</p>
</td></tr>
<tr><td valign='top' style='width:608.3pt'></td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:85.15pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:85.15pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:21.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:608.3pt'><p style='font:10pt Times New Roman;margin:0'>Inventory write-downs and differences due to UNICAP</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsInventory' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>103</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsInventory' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>88</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsInventory' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>86</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:608.3pt'><p style='font:10pt Times New Roman;margin:0'>Allowance for doubtful accounts</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>39</ix:nonFraction></p>
</td><td valign='top' style='width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>31</ix:nonFraction></p>
</td><td valign='top' style='width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>32</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:608.3pt'><p style='font:10pt Times New Roman;margin:0'>Accrued liabilities and reserves</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>90</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>58</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>68</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:608.3pt'><p style='font:10pt Times New Roman;margin:0'>Depreciation and amortization</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.85pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='fil:DeferredTaxLiabilitiesDepreciationAndAmortization' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,295</ix:nonFraction>)</p>
</td><td valign='top' style='width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.85pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='fil:DeferredTaxLiabilitiesDepreciationAndAmortization' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,859</ix:nonFraction>)</p>
</td><td valign='top' style='width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:83.85pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='fil:DeferredTaxLiabilitiesDepreciationAndAmortization' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,034</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:608.3pt'><p style='font:10pt Times New Roman;margin:0'>Deferred income taxes, net</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:DeferredTaxLiabilities' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,063</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:DeferredTaxLiabilities' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,682</ix:nonFraction>)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:DeferredTaxLiabilities' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,848</ix:nonFraction>)</p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The components of income tax expense are as follows:</p>
<ix:nonNumeric name='us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:609.4pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='7' valign='top' style='width:464.45pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Years ended December 31,</p>
</td></tr>
<tr><td valign='top' style='width:609.4pt'></td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:82.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:85.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:82.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:85.9pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:82.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:609.4pt'><p style='font:10pt Times New Roman;margin:0'>Current</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CurrentIncomeTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,632</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CurrentIncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,983</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.9pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:CurrentIncomeTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,253</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:609.4pt'><p style='font:10pt Times New Roman;margin:0'>Deferred</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='fil:DeferredIncomeTaxExpense' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>446</ix:nonFraction>)</p>
</td><td valign='top' style='width:85.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:DeferredIncomeTaxExpense' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>290</ix:nonFraction></p>
</td><td valign='top' style='width:85.9pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='fil:DeferredIncomeTaxExpense' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>211</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:609.4pt'><p style='font:10pt Times New Roman;margin:0'>Total</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,186</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,273</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.9pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,042</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Income tax expense differed from amounts computed by applying the statutory federal rate to pretax income as follows:</p>
<ix:nonNumeric name='us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:612pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='7' valign='top' style='width:461.95pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Years ended December 31,</p>
</td></tr>
<tr><td valign='top' style='width:612pt'></td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:82.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:82.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:82.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:612pt'><p style='font:10pt Times New Roman;margin:0'>Federal income tax expense at the statutory rate</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,620</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,520</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,915</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:612pt'><p style='font:10pt Times New Roman;margin:0'>State income taxes</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>490</ix:nonFraction></p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>448</ix:nonFraction></p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>369</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:612pt'><p style='font:10pt Times New Roman;margin:0'>Foreign income taxes (blended rate)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,129</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,010</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>550</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:612pt'><p style='font:10pt Times New Roman;margin:0'>R&amp;D tax credits and manufacturing profit deduction</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncomeTaxReconciliationTaxCreditsResearch' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3</ix:nonFraction>)</p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncomeTaxReconciliationTaxCreditsResearch' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6</ix:nonFraction>)</p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncomeTaxReconciliationTaxCreditsResearch' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:612pt'><p style='font:10pt Times New Roman;margin:0'>Deemed repatriation transition tax </p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' contextRef='Y22' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0;color:#FF0000;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' contextRef='Y21' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>263</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:612pt'><p style='font:10pt Times New Roman;margin:0'>US Taxes on foreign income</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='fil:TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' contextRef='Y22' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>90</ix:nonFraction>)</p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='fil:TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>99</ix:nonFraction>)</p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='fil:TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>35</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:612pt'><p style='font:10pt Times New Roman;margin:0'>Change in Rate</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:AdjustmentToDeferredTaxLiability' contextRef='Y22' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:AdjustmentToDeferredTaxLiability' contextRef='Y21' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>391</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:AdjustmentToDeferredTaxLiability' contextRef='Y20' unitRef='USD' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:612pt'><p style='font:10pt Times New Roman;margin:0'>Other</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationOtherAdjustments' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>40</ix:nonFraction></p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxReconciliationOtherAdjustments' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9</ix:nonFraction></p>
</td><td valign='top' style='width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:82.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:IncomeTaxReconciliationOtherAdjustments' contextRef='Y20' sign='-' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:612pt'><p style='font:10pt Times New Roman;margin:0'>Total</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,186</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,273</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeTaxExpenseBenefit' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,042</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The domestic and foreign components of income before income tax expense were as follows: &#160;</p>
<ix:nonNumeric name='us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:607.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='7' valign='top' style='width:466.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Years ended December 31,</p>
</td></tr>
<tr><td valign='top' style='width:607.35pt'></td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:84pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:85.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:84pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:85.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:84pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:607.35pt'><p style='font:10pt Times New Roman;margin:0'>Domestic</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,475</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>12,004</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,031</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:607.35pt'><p style='font:10pt Times New Roman;margin:0'>Foreign</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:84pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>8,184</ix:nonFraction></p>
</td><td valign='top' style='width:85.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:84pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7,057</ix:nonFraction></p>
</td><td valign='top' style='width:85.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:84pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,809</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:607.35pt'><p style='font:10pt Times New Roman;margin:0'>Total</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20,659</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>19,061</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:85.5pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:21.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>13,840</ix:nonFraction></p>
</td></tr>
</table>
</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'>48</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><ix:nonNumeric name='us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' contextRef='Y22' escape='true' continuedAt='c3'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 8 &#8211;&#160;Options</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company has stock option plans which authorize the grant of stock options to eligible employees, directors and other individuals to purchase up to an aggregate of <ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' contextRef='E22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>509</ix:nonFraction> thousand shares of common stock, of which <ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' contextRef='E22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>67</ix:nonFraction> thousand are outstanding as of December 31, 2022. &#160;All options granted under the plans are granted at current market value at the date of grant, and may be exercised between six months and ten years following the date of grant. &#160;The plans are intended to advance the interest of the Company by attracting and ensuring retention of competent directors, employees and executive personnel, and to provide incentives to those individuals to devote their utmost efforts to the advancement of stockholder value. &#160;Changes in stock options were as follows:</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'></p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:795.9pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:114.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Shares<br/>(000&#8217;s)</p>
</td><td valign='top' style='width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:27pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='2' valign='top' style='width:346.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Price Range <br/>Per Share</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:795.9pt'><p style='font:10pt Times New Roman;margin:0'><b>2022</b></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='2' valign='top' style='background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:795.9pt'><p style='font:10pt Times New Roman;margin:0'>Granted</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' contextRef='Y22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>21</ix:nonFraction></p>
</td><td valign='top' style='width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='2' valign='top' style='width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareGranted' contextRef='Y22' escape='true'>82.60 - 82.60</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:795.9pt'><p style='font:10pt Times New Roman;margin:0'>Expired or canceled</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' contextRef='Y22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>2</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='2' valign='top' style='background-color:#CCEEFF;width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareExpired' contextRef='Y22' escape='true'>33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='width:795.9pt'><p style='font:10pt Times New Roman;margin:0'>Exercised</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised' contextRef='Y22_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>4</ix:nonFraction></p>
</td><td valign='top' style='width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='2' valign='top' style='width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareExercised' contextRef='Y22' escape='true'>33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:795.9pt'><p style='font:10pt Times New Roman;margin:0'>Total outstanding at December 31</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' contextRef='E22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>67</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='2' valign='top' style='background-color:#CCEEFF;width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareOutstanding' contextRef='Y22' escape='true'>33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='width:795.9pt'><p style='font:10pt Times New Roman;margin:0'>Total exercisable at December 31</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' contextRef='E22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>40</ix:nonFraction></p>
</td><td valign='top' style='width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='2' valign='top' style='width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareTotalExercisable' contextRef='Y22' escape='true'>33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:795.95pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:114.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Shares<br/>(000&#8217;s)</p>
</td><td valign='top' style='width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:27pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:346pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Price Range <br/>Per Share</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:795.95pt'><p style='font:10pt Times New Roman;margin:0'><b>2021</b></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.3pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:795.95pt'><p style='font:10pt Times New Roman;margin:0'>Granted</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' contextRef='Y21' unitRef='Shares' decimals='-3' format='ixt:zerodash'>-</ix:nonFraction></p>
</td><td valign='top' style='width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareGranted' contextRef='Y21' escape='true'>- - -</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:795.95pt'><p style='font:10pt Times New Roman;margin:0'>Expired or canceled</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' contextRef='Y21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareExpired' contextRef='Y21' escape='true'>74.64 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='width:795.95pt'><p style='font:10pt Times New Roman;margin:0'>Exercised</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised' contextRef='Y21_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>14</ix:nonFraction></p>
</td><td valign='top' style='width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareExercised' contextRef='Y21' escape='true'>26.52 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:795.95pt'><p style='font:10pt Times New Roman;margin:0'>Total outstanding at December 31</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' contextRef='E21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>52</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareOutstanding' contextRef='Y21' escape='true'>33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='width:795.95pt'><p style='font:10pt Times New Roman;margin:0'>Total exercisable at December 31</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' contextRef='E21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>34</ix:nonFraction></p>
</td><td valign='top' style='width:101.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:345.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareTotalExercisable' contextRef='Y21' escape='true'>33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:795.7pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:27.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.45pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Shares<br/>(000&#8217;s)</p>
</td><td valign='top' style='width:101.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.35pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:346.3pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Price Range <br/>Per Share</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:795.7pt'><p style='font:10pt Times New Roman;margin:0'><b>2020</b></p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:114.45pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:101.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:346.3pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:795.7pt'><p style='font:10pt Times New Roman;margin:0'>Granted</p>
</td><td valign='top' style='width:27.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' contextRef='Y20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>26</ix:nonFraction></p>
</td><td valign='top' style='width:101.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:346.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareGranted' contextRef='Y20' escape='true'>77.05 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:795.7pt'><p style='font:10pt Times New Roman;margin:0'>Expired or canceled</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:114.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' contextRef='Y20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>1</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:101.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:346.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareExpired' contextRef='Y20' escape='true'>58.50 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='width:795.7pt'><p style='font:10pt Times New Roman;margin:0'>Exercised</p>
</td><td valign='top' style='width:27.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised' contextRef='Y20_StEqComps-CommonStock' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>8</ix:nonFraction></p>
</td><td valign='top' style='width:101.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:346.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareExercised' contextRef='Y20' escape='true'>26.52 - 74.64</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:795.7pt'><p style='font:10pt Times New Roman;margin:0'>Total outstanding at December 31</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:114.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' contextRef='E20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>69</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:101.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:346.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareOutstanding' contextRef='Y20' escape='true'>26.52 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign='top' style='width:795.7pt'><p style='font:10pt Times New Roman;margin:0'>Total exercisable at December 31</p>
</td><td valign='top' style='width:27.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:114.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' contextRef='E20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>33</ix:nonFraction></p>
</td><td valign='top' style='width:101.5pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:27.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:346.3pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><ix:nonNumeric name='fil:PriceRangePerShareTotalExercisable' contextRef='Y20' escape='true'>26.52 - 74.64</ix:nonNumeric></p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>For the years ended December 31, 2022, 2021 and 2020, the Company reduced current income taxes payable by $<ix:nonFraction name='us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6</ix:nonFraction>, $<ix:nonFraction name='us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>39</ix:nonFraction> and $<ix:nonFraction name='us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7</ix:nonFraction>, respectively, for the income tax benefit attributable to sale by optionees of common stock received upon the exercise of stock options.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Stock-Based Compensation</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>In 2022, the Company recognized $<ix:nonFraction name='us-gaap:AllocatedShareBasedCompensationExpense' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>183</ix:nonFraction> in equity compensation cost, compared to $<ix:nonFraction name='us-gaap:AllocatedShareBasedCompensationExpense' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>166</ix:nonFraction> in 2021 and $<ix:nonFraction name='us-gaap:AllocatedShareBasedCompensationExpense' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>160</ix:nonFraction> in 2020. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The fair value of each option grant is estimated on the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:</p>
<ix:nonNumeric name='us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:362.15pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:14.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='7' valign='top' style='width:314pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Years ended December 31,</p>
</td></tr>
<tr><td valign='top' style='width:362.15pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:14.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:73.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:31.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:70.45pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:38.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:71.6pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:362.15pt'><p style='font:10pt Times New Roman;margin:0'>Expected dividend amount per quarter</p>
</td><td valign='top' style='background-color:#CCEEFF;width:14.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:73.1pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' contextRef='Y22' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.3050</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:31.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>-</p>
</td><td valign='top' style='background-color:#CCEEFF;width:38.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:71.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' contextRef='Y20' unitRef='USD' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.2943</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:362.15pt'><p style='font:10pt Times New Roman;margin:0'>Expected stock price volatility</p>
</td><td valign='top' style='width:14.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:73.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' contextRef='Y22' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>29.87</ix:nonFraction>%</p>
</td><td valign='top' style='width:31.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:70.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>-</p>
</td><td valign='top' style='width:38.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:71.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' contextRef='Y20' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>27.5</ix:nonFraction>%</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:362.15pt'><p style='font:10pt Times New Roman;margin:0'>Risk-free interest rate</p>
</td><td valign='top' style='background-color:#CCEEFF;width:14.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:73.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' contextRef='Y22' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>4.09</ix:nonFraction>%</p>
</td><td valign='top' style='background-color:#CCEEFF;width:31.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>-</p>
</td><td valign='top' style='background-color:#CCEEFF;width:38.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:71.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' contextRef='Y20' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>0.56</ix:nonFraction>%</p>
</td></tr>
<tr><td valign='top' style='width:362.15pt'><p style='font:10pt Times New Roman;margin:0'>Expected life of options</p>
</td><td valign='top' style='width:14.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:73.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' contextRef='Y22' format='ixt-sec:duryear'>5.7</ix:nonNumeric> years</p>
</td><td valign='top' style='width:31.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:70.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>-</p>
</td><td valign='top' style='width:38.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:14.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:71.6pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' contextRef='Y20' format='ixt-sec:duryear'>5.3</ix:nonNumeric> years</p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The per share weighted average fair value of options granted during 2022 is $<ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>25.34</ix:nonFraction> and in 2020 is $<ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' contextRef='Y20' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>16.17</ix:nonFraction>. No options were granted in 2021.</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'>49</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><ix:continuation id='c3'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>All UTMD options vest over a four-year service period. &#160;At December 31, 2022 there was $<ix:nonFraction name='us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>501</ix:nonFraction> total unrecognized compensation expense related to non-vested stock options under the plans. A $<ix:nonFraction name='fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>199</ix:nonFraction> portion of the cost is expected to be recognized over the next <ix:nonNumeric name='fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' contextRef='Y22' format='ixt-sec:durwordsen'>twelve months</ix:nonNumeric>, and the remaining $<ix:nonFraction name='fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>302</ix:nonFraction> recognized over the next <ix:nonNumeric name='fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition' contextRef='Y22' format='ixt-sec:duryear'>4</ix:nonNumeric> years. Expected dividend amounts were estimated based on the actual cash dividend rate at the time the options were granted and an estimate of future dividends based on past dividend rate changes as well as management&#8217;s expectations of future dividend rates over the expected holding period of the options. &#160;Expected volatility is based on UTMD&#8217;s historical volatility over recent periods of time and trends in that volatility, giving weight to more recent periods. &#160;Risk free interest rates were estimated based on actual U.S. Treasury Securities Interest rates as reported by the Federal Reserve Bank for periods of time equivalent to the holding periods estimated for the options on the dates the options were granted. &#160;Expected term of options were estimated based on historical holding periods for similar options previously granted by UTMD to employees and directors. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The following table summarizes information about stock options outstanding at December 31, 2022:</p>
<ix:nonNumeric name='us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:13.4pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td colspan='3' valign='bottom' style='width:107.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:35.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='6' valign='bottom' style='width:302.7pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Options Outstanding</p>
</td><td valign='top' style='width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td colspan='4' valign='bottom' style='width:196.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Options Exercisable</p>
</td></tr>
<tr><td valign='top' style='width:13.4pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td colspan='3' valign='bottom' style='width:107.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Range of Exercise Prices</p>
</td><td valign='top' style='width:35.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:88pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Actual Number Outstanding</p>
</td><td valign='top' style='width:17.15pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:87.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Weighted Average Remaining Contractual Life (Years)</p>
</td><td valign='top' style='width:16.2pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Weighted Average Exercise Price</p>
</td><td valign='top' style='width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:86.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Number Exercisable</p>
</td><td valign='top' style='width:16.2pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:13pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>Weighted Average Exercise Price</p>
</td></tr>
<tr><td valign='top' style='width:13.4pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td colspan='3' valign='bottom' style='width:107.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'> &#160;</p>
</td><td valign='top' style='width:35.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:88pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:17.15pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:87.55pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:16.2pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:80.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:86.1pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:16.2pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:13pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='bottom' style='width:80.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:13.4pt'><p style='font:10pt Times New Roman;margin:0'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:44.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' contextRef='Y22_StScenario-Range1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>49.18</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:17pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>-</p>
</td><td valign='top' style='background-color:#CCEEFF;width:45.45pt'><p style='font:10pt Times New Roman;margin:0'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' contextRef='Y22_StScenario-Range1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>58.50</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:35.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:88pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' contextRef='E22_StScenario-Range1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>13,762</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:17.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:87.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:WeightedAverageRemainingContractualLifeYears' contextRef='E22_StScenario-Range1' unitRef='Pure' decimals='INF' scale='0' format='ixt:numdotdecimal'>2.68</ix:nonFraction> </p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:80.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' contextRef='E22_StScenario-Range1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>54.12</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:86.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' contextRef='E22_StScenario-Range1' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>13,762</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:80.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' contextRef='E22_StScenario-Range1' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>54.12</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:13.4pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:44.65pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' contextRef='Y22_StScenario-Range2' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>74.64</ix:nonFraction></p>
</td><td valign='top' style='width:17pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>-</p>
</td><td valign='top' style='width:45.45pt'><p style='font:10pt Times New Roman;margin:0'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' contextRef='Y22_StScenario-Range2' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>77.05</ix:nonFraction></p>
</td><td valign='top' style='width:35.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:88pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' contextRef='E22_StScenario-Range2' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>33,071</ix:nonFraction></p>
</td><td valign='top' style='width:17.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:87.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:WeightedAverageRemainingContractualLifeYears' contextRef='E22_StScenario-Range2' unitRef='Pure' decimals='INF' scale='0' format='ixt:numdotdecimal'>6.79</ix:nonFraction></p>
</td><td valign='top' style='width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:80.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' contextRef='E22_StScenario-Range2' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>76.22</ix:nonFraction></p>
</td><td valign='top' style='width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:86.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' contextRef='E22_StScenario-Range2' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>25,987</ix:nonFraction></p>
</td><td valign='top' style='width:16.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:13pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:80.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' contextRef='E22_StScenario-Range2' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>75.99</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:13.4pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:44.65pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' contextRef='Y22_StScenario-Range3' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>82.60</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:17pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>-</p>
</td><td valign='top' style='background-color:#CCEEFF;width:45.45pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' contextRef='Y22_StScenario-Range3' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>82.60</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:35.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:88pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' contextRef='E22_StScenario-Range3' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>20,600</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:17.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:87.55pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:WeightedAverageRemainingContractualLifeYears' contextRef='E22_StScenario-Range3' unitRef='Pure' decimals='INF' scale='0' format='ixt:numdotdecimal'>9.78</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' contextRef='E22_StScenario-Range3' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>82.60</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:86.1pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' contextRef='E22_StScenario-Range3' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>0</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:13pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' contextRef='E22_StScenario-Range3' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>0.00</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:13.4pt'><p style='font:10pt Times New Roman;margin:0'>$</p>
</td><td valign='top' style='width:44.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>49.18</ix:nonFraction></p>
</td><td valign='top' style='width:17pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;color:#7F7F7F;text-align:center'><span style='color:#000000'>-</span></p>
</td><td valign='top' style='width:45.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;color:#7F7F7F'><span style='color:#000000'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>82.60</ix:nonFraction></span></p>
</td><td valign='top' style='width:35.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:88pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' contextRef='E22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>67,433</ix:nonFraction></p>
</td><td valign='top' style='width:17.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:87.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:WeightedAverageRemainingContractualLifeYears' contextRef='E22' unitRef='Pure' decimals='INF' scale='0' format='ixt:numdotdecimal'>6.86</ix:nonFraction></p>
</td><td valign='top' style='width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:13pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' contextRef='E22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>73.66</ix:nonFraction></p>
</td><td valign='top' style='width:16.2pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:9.85pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:86.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' contextRef='E22' unitRef='Shares' decimals='INF' scale='0' format='ixt:numdotdecimal'>39,749</ix:nonFraction></p>
</td><td valign='top' style='width:16.2pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:13pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' contextRef='E22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>68.42</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:368.7pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td colspan='7' valign='top' style='width:307.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:368.7pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:72.4pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:31.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:65.45pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:38.9pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:70.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:368.7pt'><p style='font:10pt Times New Roman;margin:0'>Intrinsic Value of Stock Options Exercised</p>
</td><td valign='top' style='background-color:#CCEEFF;width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:72.4pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>141</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:31.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:65.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>591</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:38.9pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>371</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:368.7pt'><p style='font:10pt Times New Roman;margin:0'>Intrinsic Value of Stock Options Outstanding</p>
</td><td valign='top' style='width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:72.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,812</ix:nonFraction></p>
</td><td valign='top' style='width:31.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:65.45pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,595</ix:nonFraction></p>
</td><td valign='top' style='width:38.9pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:14.15pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='width:70.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,178</ix:nonFraction></p>
</td></tr>
</table>
</ix:continuation><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='fil:GeographicInformationTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 9 &#8211;&#160;Geographic Information</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company had sales in the following geographic areas based on the customer&#8217;s country of domicile:</p>
<ix:nonNumeric name='fil:ScheduleOfGeographicInformationTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:337.2pt'></td><td valign='top' style='width:31.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:71.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:37.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:16.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:71.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:37.95pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:71.05pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:337.2pt'><p style='font:10pt Times New Roman;margin:0'>United States</p>
</td><td valign='top' style='background-color:#CCEEFF;width:31.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:CompanySalesInTheUnitedStates' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>34,524</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:CompanySalesInTheUnitedStates' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>31,758</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.95pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:CompanySalesInTheUnitedStates' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>26,175</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:337.2pt'><p style='font:10pt Times New Roman;margin:0'>Europe</p>
</td><td valign='top' style='width:31.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:71.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:CompanySalesInEurope' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7,214</ix:nonFraction></p>
</td><td valign='top' style='width:37.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:71.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:CompanySalesInEurope' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7,434</ix:nonFraction></p>
</td><td valign='top' style='width:37.95pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:71.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:CompanySalesInEurope' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,399</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:337.2pt'><p style='font:10pt Times New Roman;margin:0'>Other</p>
</td><td valign='top' style='background-color:#CCEEFF;width:31.7pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:71.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:CompanySalesOther' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,543</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:71.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:CompanySalesOther' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,862</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.95pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:71.05pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:CompanySalesOther' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,604</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric></ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><ix:nonNumeric name='fil:GeographicLongLivedAssetsInformationTextBlock' contextRef='Y22' escape='true' continuedAt='c4'><span style='border-bottom:1px solid #000000'>Note 10 &#8211;&#160;Long-lived Assets by Geographic Area</span> </ix:nonNumeric></p>
<p style='font:10pt Times New Roman;margin:0'><ix:continuation id='c4' continuedAt='c5'>&#160; </ix:continuation></p>
<ix:continuation id='c5'><p style='font:10pt Times New Roman;margin:0'>The Company&#8217;s long-lived assets by geographic area were as follows:</p>
<ix:nonNumeric name='fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:338.6pt'></td><td valign='top' style='width:31.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:70.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:37.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:70.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:37.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='bottom' style='width:70.8pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:338.6pt'><p style='font:10pt Times New Roman;margin:0'>United States</p>
</td><td valign='top' style='background-color:#CCEEFF;width:31.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.8pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInTheUnitedStates' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,875</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInTheUnitedStates' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>19,104</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInTheUnitedStates' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>23,327</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:338.6pt'><p style='font:10pt Times New Roman;margin:0'>England</p>
</td><td valign='top' style='width:31.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInEngland' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>15,184</ix:nonFraction></p>
</td><td valign='top' style='width:37.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInEngland' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>19,339</ix:nonFraction></p>
</td><td valign='top' style='width:37.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInEngland' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>21,871</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:338.6pt'><p style='font:10pt Times New Roman;margin:0'>Ireland</p>
</td><td valign='top' style='background-color:#CCEEFF;width:31.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInIreland' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,954</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInIreland' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>2,990</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInIreland' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,173</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#FFFFFF;width:338.6pt'><p style='font:10pt Times New Roman;margin:0'>Australia</p>
</td><td valign='top' style='background-color:#FFFFFF;width:31.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInAustralia' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>337</ix:nonFraction></p>
</td><td valign='top' style='background-color:#FFFFFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInAustralia' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>392</ix:nonFraction></p>
</td><td valign='top' style='background-color:#FFFFFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInAustralia' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>440</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:338.6pt'><p style='font:10pt Times New Roman;margin:0'>Canada</p>
</td><td valign='top' style='background-color:#CCEEFF;width:31.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInCanada' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>593</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInCanada' contextRef='E21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>653</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='fil:LongLivedAssetsInCanada' contextRef='E20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>672</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#FFFFFF;width:338.6pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:31.55pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:37.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:16.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#FFFFFF;width:70.8pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
</table>
</ix:nonNumeric></ix:continuation><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0;text-align:center'>50</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><ix:nonNumeric name='fil:RevenuesbyproductcategoryandregionTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 11 &#8211;&#160;Revenues by Product Category and Geographic Region</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>Global revenues by product category:</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:313.85pt'> </td><td valign='top' style='width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Obstetrics</p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Obstetrics_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,661</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Obstetrics_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,675</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Obstetrics_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,523</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Gynecology/ Electrosurgery/ Urology</p>
</td><td valign='top' style='width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>21,841</ix:nonFraction></p>
</td><td valign='top' style='width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>21,973</ix:nonFraction></p>
</td><td valign='top' style='width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20,552</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Neonatal</p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Neonatal_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>7,567</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Neonatal_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,691</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Neonatal_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,870</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Blood Pressure Monitoring and Accessories</p>
</td><td valign='top' style='width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>18,212</ix:nonFraction></p>
</td><td valign='top' style='width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>15,715</ix:nonFraction></p>
</td><td valign='top' style='width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>11,233</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Total:</p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>52,281</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>49,054</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StGeo-Global' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>42,178</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='fil:ScheduleofousrevenuesbyproductcategoryTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>Included in the Global revenues (above) were OUS revenues by product category:</p>
<table style='border-collapse:collapse;width:100%'><tr><td valign='top' style='width:313.85pt'> </td><td valign='top' style='width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Obstetrics</p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Obstetrics_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>676</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Obstetrics_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>735</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Obstetrics_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>846</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Gynecology/ Electrosurgery/ Urology</p>
</td><td valign='top' style='width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>11,603</ix:nonFraction></p>
</td><td valign='top' style='width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>11,053</ix:nonFraction></p>
</td><td valign='top' style='width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>9,934</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Neonatal</p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-Neonatal_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,517</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-Neonatal_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,347</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-Neonatal_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>1,490</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Blood Pressure Monitoring and Accessories</p>
</td><td valign='top' style='width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>6,514</ix:nonFraction></p>
</td><td valign='top' style='width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,260</ix:nonFraction></p>
</td><td valign='top' style='width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:69.9pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>4,042</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:313.85pt'><p style='font:10pt Times New Roman;margin:0'>Total:</p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.9pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y22_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20,310</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:36.95pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y21_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>18,395</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:45.05pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:16.1pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$</p>
</td><td valign='top' style='background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax' contextRef='Y20_StGeo-Ous' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>16,312</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='fil:ProductSaleAndPurchaseCommitmentsTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 12 - Product Sale and Purchase Commitments</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company has had license agreements for the rights to develop and market certain products or technologies owned by unrelated parties. &#160;The confidential terms of such agreements are unique and varied, depending on many factors relating to the value and stage of development of the technology licensed. &#160;Royalties on future product sales are a normal component of such agreements and are included in the Company&#8217;s cost of goods sold on an ongoing basis.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>In 2022, 2021 and 2020, UTMD received royalties of $<ix:nonFraction name='us-gaap:RoyaltyIncomeNonoperating' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20</ix:nonFraction>, $<ix:nonFraction name='us-gaap:RoyaltyIncomeNonoperating' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>15</ix:nonFraction> and $<ix:nonFraction name='us-gaap:RoyaltyIncomeNonoperating' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>20</ix:nonFraction>, respectively, for the use of intellectual property. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>UTMD had $<ix:nonFraction name='us-gaap:ContractualObligation' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>5,242</ix:nonFraction> in operating lease and purchase commitments as of December 31, 2022.</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 13 &#8211;&#160;Employee Benefit Plans</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company sponsors a contributory 401(k) savings plan for U.S. employees, and contributory retirement plans for Ireland, UK, Australia and Canada employees. &#160;The Company&#8217;s matching contribution is determined annually by the board of directors. &#160;Company contributions were approximately $<ix:nonFraction name='us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>159</ix:nonFraction>, $<ix:nonFraction name='us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>165</ix:nonFraction> and $<ix:nonFraction name='us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>167</ix:nonFraction> for the years ended December 31, 2022, 2021 and 2020, respectively.</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'>51</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/> <ix:nonNumeric name='us-gaap:LesseeOperatingLeasesTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 14 &#8211;&#160;Leases</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>UTMD has operating leases for a portion of its parking lot at its Midvale facility and an automobile at its Ireland facility. &#160;The remaining lease term on the parking lot is <ix:nonNumeric name='fil:LesseeOperatingLeaseForParkingLotTermOfContract' contextRef='D221231' format='ixt-sec:duryear'>9</ix:nonNumeric> years and on the automobile is <ix:nonNumeric name='fil:LesseeOperatingLeaseForAutomobileTermOfContract' contextRef='D221231' format='ixt-sec:durmonth'>18</ix:nonNumeric> months. &#160;There are no options to extend or terminate the leases. &#160;The parking lot lease contains a provision that requires an adjustment every five years to the lease payment based on the change in the Consumer Price Index. &#160;This adjustment occurred in 2021 requiring an increase of $<ix:nonFraction name='fil:LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>87</ix:nonFraction> to the value of the right-of-use asset and lease liabilities. UTMD has no other leases yet to commence. &#160;As neither lease contains implicit rates, UTMD&#8217;s incremental borrowing rate, based on information available at adoption date, was used to determine the present value of the leases.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Operating lease costs for the years ended December 31, 2022, 2021, and 2020 were $<ix:nonFraction name='us-gaap:OperatingLeaseCost' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>64</ix:nonFraction>, $<ix:nonFraction name='us-gaap:OperatingLeaseCost' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>63</ix:nonFraction>, and $<ix:nonFraction name='us-gaap:OperatingLeaseCost' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>61</ix:nonFraction>, respectively.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Supplemental balance sheet information related to operating leases was as follows (in thousands):</p>
<ix:nonNumeric name='fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' contextRef='Y22' escape='true'><br/><table style='border-collapse:collapse;width:100%'><tr style='height:23.85pt'><td valign='top' style='width:831.4pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:264.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>As of December 31, 2022</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:831.4pt'><p style='font:10pt Times New Roman;margin:0'>Operating lease right-of-use assets</p>
</td><td valign='top' style='background-color:#CCEEFF;width:264.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$<ix:nonFraction name='us-gaap:OperatingLeaseRightOfUseAsset' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>395</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:831.4pt'><p style='font:10pt Times New Roman;margin:0'><span style='-sec-ix-hidden:fact7'>Operating lease liabilities &#8211;&#160;current (included in Accrued Expenses)</span></p>
</td><td valign='top' style='width:264.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingLeaseLiabilityCurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>54</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:831.4pt'><p style='font:10pt Times New Roman;margin:0'>Operating lease liabilities &#8211;&#160;long term</p>
</td><td valign='top' style='background-color:#CCEEFF;width:264.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><span style='border-bottom:1px solid #000000'><ix:nonFraction name='us-gaap:OperatingLeaseLiabilityNoncurrent' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>341</ix:nonFraction></span></p>
</td></tr>
<tr><td valign='top' style='width:831.4pt'><p style='font:10pt Times New Roman;margin:0'>Total operating lease liabilities</p>
</td><td valign='top' style='width:264.35pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$<ix:nonFraction name='us-gaap:OperatingLeaseLiability' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>395</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><ix:nonNumeric name='us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock' contextRef='Y22' escape='true'><table style='border-collapse:collapse;width:100%'><tr style='height:23.75pt'><td valign='top' style='width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>Maturities of operating lease liabilities at December 31, 2022 were as follows (in thousands):</p>
</td><td valign='top' style='width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>As of December 31, 2022</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>2023</p>
</td><td valign='top' style='background-color:#CCEEFF;width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$<ix:nonFraction name='us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>54</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>2024</p>
</td><td valign='top' style='width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>46</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>2025</p>
</td><td valign='top' style='background-color:#CCEEFF;width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>41</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>2026</p>
</td><td valign='top' style='width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>42</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>2027</p>
</td><td valign='top' style='background-color:#CCEEFF;width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>43</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>Thereafter</p>
</td><td valign='top' style='width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>169</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:796.35pt'><p style='font:10pt Times New Roman;margin:0'> &#160;&#160;&#160;&#160;Total lease payments</p>
</td><td valign='top' style='background-color:#CCEEFF;width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$<ix:nonFraction name='us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>442</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:796.35pt'><p style='font:10pt Times New Roman;margin:0'> &#160;&#160;&#160;&#160;Less: imputed interest</p>
</td><td valign='top' style='width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>(<ix:nonFraction name='us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>47</ix:nonFraction>)</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:796.35pt'><p style='font:10pt Times New Roman;margin:0'> &#160;&#160;&#160;&#160;Total lease liabilities</p>
</td><td valign='top' style='background-color:#CCEEFF;width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>$<ix:nonFraction name='us-gaap:OperatingLeaseLiability' contextRef='E22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>395</ix:nonFraction></p>
</td></tr>
<tr><td valign='top' style='width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr><td valign='top' style='width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:23.75pt'><td valign='top' style='width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>The following table provides information on the lease terms and discount rates:</p>
</td><td valign='top' style='width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>As of December 31, 2022</p>
</td></tr>
<tr><td valign='top' style='background-color:#CCEEFF;width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>Weighted-average remaining lease term &#160;(in years)</p>
</td><td valign='top' style='background-color:#CCEEFF;width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonNumeric name='us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1' contextRef='E22' format='ixt-sec:duryear'>8.2</ix:nonNumeric> years</p>
</td></tr>
<tr><td valign='top' style='width:796.35pt'><p style='font:10pt Times New Roman;margin:0'>Weighted-average discount rate</p>
</td><td valign='top' style='width:299.4pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent' contextRef='E22' unitRef='Pure' decimals='INF' scale='-2' format='ixt:numdotdecimal'>3.3</ix:nonFraction>%</p>
</td></tr>
</table>
<p style='font:12pt Times New Roman;margin:0'>&#160;</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:10pt'>&#160;</p>
</ix:nonNumeric><p style='font:12pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:IntangibleAssetsDisclosureTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 15 &#8211;&#160;Distribution Agreement Purchase</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>UTMD completed the purchase of exclusive U.S. distribution rights for the Filshie Clip System from CooperSurgical, Inc. (CSI) on February 1, 2019, after which CSI no longer sells the Filshie Clip System and UTMD distributes the Filshie Clip System directly to clinical facilities in the U.S. The $<ix:nonFraction name='us-gaap:FinitelivedIntangibleAssetsAcquired1' contextRef='Y22_DistributionRightsAcquisition-CoopersurgicalInc' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>21,000</ix:nonFraction> purchase price represents an identifiable intangible asset which will be straight-line amortized and recognized as part of G&amp;A expenses over the <ix:nonFraction name='fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' contextRef='Y22_DistributionRightsAcquisition-CoopersurgicalInc' unitRef='Pure' decimals='INF' scale='0' format='ixt:numdotdecimal'>4.75</ix:nonFraction> year remaining life of the prior CSI distribution agreement with Femcare. &#160;The agreement will be fully amortized in 4th quarter 2023. &#160;As part of the agreement, UTMD also purchased the remaining CSI inventory for approximately $2,100.</p>
<p style='font:10pt Times New Roman;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'>52</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><p style='font:10pt Times New Roman;margin:0'> &#160;</p>
 <ix:nonNumeric name='us-gaap:EarningsPerShareTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 16 &#8211;&#160;Earnings Per Share</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Basic earnings per share is calculated by dividing net income attributable to the common stockholders of the company by the weighted average number of common shares outstanding during the period. &#160;Diluted earnings per share is calculated by assuming the exercise of stock options at the closing price of stock at the end of 2022.</p>
<ix:nonNumeric name='us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:</p>
<table style='border-collapse:collapse;width:100%'><tr style='height:12.5pt'><td colspan='6' valign='top' style='width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td></tr>
<tr style='height:12.5pt'><td colspan='6' valign='top' style='width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td></tr>
<tr style='height:12.5pt'><td valign='top' style='width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'></td><td valign='middle' style='width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2022</p>
</td><td valign='top' style='width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2021</p>
</td><td valign='top' style='width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:12pt Times New Roman;margin:0;text-align:center'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:center'>2020</p>
</td></tr>
<tr style='height:12.5pt'><td valign='top' style='background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><b>Numerator </b><i>(in thousands)</i></p>
</td><td valign='top' style='background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td></tr>
<tr style='height:11.2pt'><td valign='top' style='width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Net income</p>
</td><td valign='middle' style='width:184.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y22' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>16,473</ix:nonFraction></p>
</td><td valign='top' style='width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y21' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>14,788</ix:nonFraction></p>
</td><td valign='top' style='width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:ProfitLoss' contextRef='Y20' unitRef='USD' decimals='-3' scale='3' format='ixt:numdotdecimal'>10,798</ix:nonFraction></p>
</td></tr>
<tr style='height:12.5pt'><td valign='top' style='background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td></tr>
<tr style='height:12pt'><td valign='top' style='width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><b>Denominator</b></p>
</td><td valign='top' style='width:184.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='top' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td></tr>
<tr style='height:12.5pt'><td valign='top' style='background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Weighted average shares, basic</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,637</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,647</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfSharesOutstandingBasic' contextRef='Y20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,658</ix:nonFraction></p>
</td></tr>
<tr style='height:12.5pt'><td valign='top' style='width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Dilutive effect of stock options</p>
</td><td valign='middle' style='width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment' contextRef='Y22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>6</ix:nonFraction></p>
</td><td valign='top' style='width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment' contextRef='Y21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>13</ix:nonFraction></p>
</td><td valign='top' style='width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment' contextRef='Y20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>14</ix:nonFraction></p>
</td></tr>
<tr style='height:12.5pt'><td valign='top' style='background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Diluted shares</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y22' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,643</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y21' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,660</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding' contextRef='Y20' unitRef='Shares' decimals='-3' scale='3' format='ixt:numdotdecimal'>3,672</ix:nonFraction></p>
</td></tr>
<tr style='height:12.5pt'><td valign='top' style='width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</td><td valign='middle' style='width:184.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='top' style='width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td></tr>
<tr style='height:12.5pt'><td valign='top' style='background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Earnings per share, basic</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareBasic' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>4.53</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareBasic' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>4.05</ix:nonFraction></p>
</td><td valign='top' style='background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareBasic' contextRef='Y20' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>2.95</ix:nonFraction></p>
</td></tr>
<tr style='height:12.5pt'><td valign='top' style='width:434.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Earnings per share, diluted</p>
</td><td valign='middle' style='width:184.95pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y22' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>4.52</ix:nonFraction></p>
</td><td valign='top' style='width:53pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y21' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>4.04</ix:nonFraction></p>
</td><td valign='top' style='width:52.15pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'>&#160;</p>
</td><td valign='middle' style='width:185.35pt;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:right'><ix:nonFraction name='us-gaap:EarningsPerShareDiluted' contextRef='Y20' unitRef='UsdPerShare' decimals='INF' scale='0' format='ixt:numdotdecimal'>2.94</ix:nonFraction></p>
</td></tr>
</table>
<p style='font:12pt Times New Roman;margin:0'>&#160;</p>
</ix:nonNumeric></ix:nonNumeric><p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 17 &#8211;&#160;Recent Accounting Pronouncements</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'>The Company has determined that other recently issued accounting standards will either have no material impact on its consolidated financial position, results of operations or cash flows, or will not apply to its operations.</p>
</ix:nonNumeric></ix:nonNumeric><p style='font:10pt Times New Roman;margin:0;color:#1F497D'> &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<ix:nonNumeric name='us-gaap:SubsequentEventsTextBlock' contextRef='Y22' escape='true'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Note 18 &#8211;&#160;Subsequent Events</span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>The Company evaluated its December 31, 2022 financial statements for subsequent events through the date the financial statements were issued. &#160;The Company is not aware of any subsequent events which would require recognition or disclosure in the financial statements. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
</ix:nonNumeric><p style='font:10pt Times New Roman;margin:0;color:#339966'></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'>53</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a17'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 9 &#8211;&#160;CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</b></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>None.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a18'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 9A &#8211;&#160;CONTROLS AND PROCEDURES</b></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Evaluation of Disclosure Controls and Procedures.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>UTMD Management is responsible for establishing and maintaining adequate internal control over financial reporting, as defined in the Securities Exchange Act of 1934 Rule 13a-15(e). &#160;UTMD&#8217;s Board of Directors, operating through its Audit Committee, provides oversight to its financial reporting process.&#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:7.2pt'></kbd>During 2022, UTMD evaluated the effectiveness of the design and operation of its disclosure controls and procedures. Based on that evaluation, UTMD&#8217;s Chief Executive Officer and Principal Financial Officer concluded that, as of December 31, 2022, its disclosure controls and procedures were effective.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Management&#8217;s Report on Internal Control Over Financial Reporting.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>Pursuant to Section 404 of the Sarbanes-Oxley Act of 2002, the Company has included, as part of this Form 10-K, a report of management's assessment of the effectiveness of its internal controls as of December 31, 2022. &#160;Management's report appears on page 34 of this Form 10-K under the caption &quot;Management's Report on Internal Control Over Financial Reporting&quot; and is incorporated herein by reference. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>Changes in Internal Control Over Financial Reporting.</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:7.2pt'></kbd>There have been no changes in UTMD&#8217;s internal control over financial reporting that materially affected, or were reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting during the fourth quarter of the fiscal year ended December 31, 2022, and there were no material weaknesses.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a19'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 9C &#8211;&#160;DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS</b></p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:9pt'></kbd>None. &#160;&#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'>54</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a20'></a><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART III</b></span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a21'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 10 &#8211;&#160;DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE</b></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:7.2pt'></kbd>The information from the definitive proxy statement of the registrant for the 2023 annual meeting of stockholders under the captions, &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;PROPOSAL NO. 1. ELECTION OF DIRECTORS: General,&#8221; and &#8220;Directors and Nominees,&#8221; &#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;SECURITY OWNERSHIP OF MANAGEMENT AND CERTAIN PERSONS,&#8221; and &#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;EXECUTIVE OFFICER COMPENSATION: 2022 Director Compensation,&#8221; &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>is incorporated herein by reference. </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:7.2pt'></kbd>UTMD adopted a Code of Ethics for its executive officers, including the Chief Executive Officer and outside directors, in October 2003. &#160;The Code of Ethics, along with UTMD&#8217;s Code of Conduct, which covers all exempt employees (including all officers and outside directors) and certain non-exempt employees, is posted on UTMD&#8217;s web site at <span style='border-bottom:1px solid #000000'>www.utahmed.com</span>. &#160;UTMD intends to post on its website any waivers of or amendments to its Code of Ethics. &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a22'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 11 - EXECUTIVE COMPENSATION</b></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:7.2pt'></kbd>The information from the definitive proxy statement of the registrant for the 2023 annual meeting of stockholders under the captions,&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;EXECUTIVE OFFICER COMPENSATION,&#8221;&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;COMPENSATION DISCUSSION AND ANALYSIS,&#8221; and&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;BOARD OF DIRECTORS AND OTHER BOARD COMMITTEE REPORTS: Compensation and Option Committee Interlocks and Insider Participation,&#8221; specifically excluding the &#8220;Report of the Compensation Committee&#8221;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>is incorporated herein by reference. </p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a23'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 12 - SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</b></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:7.2pt'></kbd>The information from the definitive proxy statement of the registrant for the 2023 annual meeting of stockholders under the captions, &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;SECURITY OWNERSHIP OF MANAGEMENT AND CERTAIN PERSONS&#8221; and&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;DISCLOSURE RESPECTING THE COMPANY&#8217;S EQUITY COMPENSATION PLANS&#8221; &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>is incorporated herein by reference.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><b>ITEM 13 - CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</b> </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:7.2pt'></kbd>The information from the definitive proxy statement of the registrant for the 2023 annual meeting of stockholders under the captions, &#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS&#8221;&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:36pt'><kbd style='position:absolute;font:10pt Symbol;margin-left:-18pt'>&#183;</kbd><kbd style='margin-left:-4.5pt'></kbd>&#8220;BOARD OF DIRECTORS AND OTHER BOARD COMMITTEE REPORTS: Director Independence&#8221;&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>is incorporated herein by reference.</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:7.2pt'></kbd>The information from the definitive proxy statement of the registrant for the 2023 annual meeting of stockholders in the first paragraph under the caption, &#8220;Report of the Audit Committee&#8221; is incorporated herein by reference.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a25'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 14 &#8211;&#160;PRINCIPAL ACCOUNTING FEES AND SERVICES</b></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:7.2pt'></kbd>The information from the definitive proxy statement of the registrant for the 2023 annual meeting of stockholders under the caption &#8220;PROPOSAL NO 3. RATIFICATION OF THE APPOINTMENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM: Fees billed by Haynie &amp; Company,&#8221; &#8220;Audit Committee Policy and Approval,&#8221; and &#8220;Auditor Independence&#8221; are incorporated herein by reference. &#160;&#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'>55</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a26'></a><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'><b>PART IV</b></span></p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<a id='a27'></a><p style='font:10pt Times New Roman;margin:0'><b>ITEM 15 &#8211;&#160;EXHIBITS, FINANCIAL STATEMENT SCHEDULES</b></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:7.2pt'></kbd>(a) &#160;The following documents are filed as part of this report or incorporated herein by reference.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Dutch801SWC;margin-left:7.2pt'>1.</kbd><kbd style='margin-left:22.5pt'></kbd>Financial Statements.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:22.5pt'></kbd>(See Table of Contents to Item 8, above.)&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Dutch801SWC;margin-left:7.2pt'>2.</kbd><kbd style='margin-left:22.5pt'></kbd>Supplemental Schedule.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:22.5pt'></kbd>Financial Statement Schedules are omitted because they are inapplicable or the required information is otherwise included in the accompanying Financial Statements and the notes thereto.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Dutch801SWC;margin-left:7.2pt'>3.</kbd><kbd style='margin-left:22.5pt'></kbd>Exhibits.&#160;</p>
<table style='border-collapse:collapse;width:100%'><tr style='height:1pt'><td valign='bottom' style='width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'><span style='border-bottom:1px solid #000000'>Exhibit #</span></p>
</td><td valign='bottom' style='width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Title of Document</span></p>
</td><td valign='bottom' style='width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='border-bottom:1px solid #000000'>Location</span></p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>3.1</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='http://www.sec.gov/Archives/edgar/data/706698/000109690605000089/utahmed10k12312004ex1.txt' style='text-decoration:none'>Articles of Restatement of the Articles of Incorporation</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Incorporated by Reference (1)</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>3.2</p>
</td><td valign='top' style='width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='http://www.sec.gov/Archives/edgar/data/706698/000109690605000089/utahmed10k12312004ex2.txt' style='text-decoration:none'>Articles of Correction to the Restated Articles of Incorporation</a></span> </p>
</td><td valign='top' style='width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Incorporated by Reference (1)</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>3.3</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='http://www.sec.gov/Archives/edgar/data/706698/000109690614000174/exhibit99-1.htm' style='text-decoration:none'>Bylaws</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Incorporated by Reference (2)</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>10.1</p>
</td><td valign='top' style='width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='http://www.sec.gov/Archives/edgar/data/706698/000109690604000128/utmd10kdec2003ex-10.txt' style='text-decoration:none'>Employment Agreement dated December 21, 1992 with Kevin L. Cornwell*</a></span></p>
</td><td valign='top' style='width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Incorporated by Reference (3)</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>10.2</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='http://www.sec.gov/Archives/edgar/data/706698/000109690604000128/utmd10kdec2003ex10-2.txt' style='text-decoration:none'>Amendment, effective May 15, 1998, to Employment Agreement dated December 21, 1992 with Kevin L. Cornwell*</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Incorporated by Reference (3)</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>10.3</p>
</td><td valign='top' style='width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='http://www.sec.gov/Archives/edgar/data/706698/000109690603000132/0001096906-03-000132.txt' style='text-decoration:none'>Utah Medical Products, Inc., 2003 Employees&#8217; and Directors&#8217; Incentive Plan*</a></span></p>
</td><td valign='top' style='width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Incorporated by Reference (4)</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>10.4</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='http://www.sec.gov/Archives/edgar/data/706698/000109690613000303/utahmedexh991.htm' style='text-decoration:none'>Utah Medical Products, Inc., 2013 Employees&#8217; and Directors&#8217; Incentive Plan*</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>Incorporated by Reference (5)</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>10.5</p>
</td><td valign='top' style='width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='utmd_ex10z5.htm' style='text-decoration:none'>Summary of Officer and Director Compensation</a></span></p>
</td><td valign='top' style='width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This filing</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>21</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='utmd_ex21.htm' style='text-decoration:none'>Subsidiaries of Utah Medical Products, Inc.</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This filing</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>23.1</p>
</td><td valign='top' style='width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='utmd_ex23z1.htm' style='text-decoration:none'>Consent of Haynie &amp; Company, UTMD&#8217;s independent auditors for the year</a><a href='utmd_ex23z1.htm' style='text-decoration:none'>s</a><a href='utmd_ex23z1.htm' style='text-decoration:none'> ended </a><a href='utmd_ex23z1.htm' style='text-decoration:none'>December 31, 2022 and </a><a href='utmd_ex23z1.htm' style='text-decoration:none'>December 31, 20</a><a href='utmd_ex23z1.htm' style='text-decoration:none'>21</a></span></p>
</td><td valign='top' style='width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This filing</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>23.2</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='utmd_ex23z2.htm' style='text-decoration:none'>Consent of Nortons Assurance Limited, Femcare Group Limited&#8217;s independent auditors for the years ended December 31, 20</a><a href='utmd_ex23z2.htm' style='text-decoration:none'>22 and</a><a href='utmd_ex23z2.htm' style='text-decoration:none'> December 31, 20</a><a href='utmd_ex23z2.htm' style='text-decoration:none'>21</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This filing</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>31.1</p>
</td><td valign='top' style='width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'><span style='color:#0000FF;border-bottom:1px solid #0000FF'><a href='utmd_ex31z1.htm' style='text-decoration:none'>Certification of CEO pursuant to Rule 13a-14(a) as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</a></span></p>
</td><td valign='top' style='width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This Filing</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>31.2</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='utmd_ex31z2.htm' style='text-decoration:none'>Certification of Principal Financial Officer pursuant to Rule 13a-14(a) as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This Filing</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>32.1</p>
</td><td valign='top' style='width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='utmd_ex32z1.htm' style='text-decoration:none'>Certification of CEO pursuant to 18 U.S.C. &#167;1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</a></span></p>
</td><td valign='top' style='width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This Filing</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>32.2</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='utmd_ex32z2.htm' style='text-decoration:none'>Certification of Principal Financial Officer pursuant to 18 U.S.C. &#167;1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</a></span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This Filing</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>101</p>
</td><td valign='top' style='width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman'>The following financial information from the Utah Medical Products, Inc. Annual Report on Form 10-K for the fiscal year ended December 31, 2022, formatted in Inline Extensible Business Reporting Language (iXBRL): &#160;(i) Consolidated Balance Sheets, (ii) Consolidated Statements of Income and Comprehensive Income, (iii) Consolidated Statements of Cash Flow, (iv) Consolidated Statements of Stockholders&#8217; Equity, and (v) related Notes to the Consolidated Financial Statements, tagged in detail.</span></p>
</td><td valign='top' style='width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This Filing</p>
</td></tr>
<tr style='height:1pt'><td valign='top' style='background-color:#CCEEFF;width:12.72%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0;text-align:center'>104</p>
</td><td valign='top' style='background-color:#CCEEFF;width:68.16%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman'>Cover Page Interactive Data File (the cover page XBRL tags are embedded within the Inline XBRL document)</span></p>
</td><td valign='top' style='background-color:#CCEEFF;width:19.12%;padding-left:5.75pt;padding-right:5.75pt'><p style='font:10pt Times New Roman;margin:0'>This Filing</p>
</td></tr>
</table>
<p style='font:10pt Times New Roman;margin:0;margin-right:646.35pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>* Management contract of compensatory plan or arrangement required to be filed pursuant to Item 14(c).</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:9pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:40.5pt'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:-18pt'>(1)</kbd>Incorporated by reference from the Company&#8217;s annual report on form 10-K filed with the Commission for the year ended December 31, 2004.&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:40.5pt'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:-18pt'>(2)</kbd>Incorporated by reference from the Company&#8217;s report on form 8-K filed with the Commission on February 13, 2014.&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:40.5pt'><kbd style='position:absolute;font:10pt Times New Roman;margin-left:-18pt'>(3)</kbd>Incorporated by reference from the Company&#8217;s annual report on form 10-K filed with the Commission for the year ended December 31, 2003.&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:40.5pt'><kbd style='position:absolute;font:10pt Dutch801SWC;margin-left:-18pt'>(4)</kbd>Incorporated by reference from the Company&#8217;s 2003 definitive proxy statement on form DEF 14A filed with the Commission on March 27, 2003.&#160;</p>
<p style='font:10pt Times New Roman;margin:0;margin-left:40.5pt'><kbd style='position:absolute;font:10pt Dutch801SWC;margin-left:-18pt'>(5)</kbd>Incorporated by reference from the Company&#8217;s 2013 definitive proxy statement on form DEF 14A filed with the Commission on March 7, 2013.&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-indent:-40.5pt;margin-left:40.5pt'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-indent:-18pt;margin-left:40.3pt'>&#160;</p>
<a id='a28'></a><p style='font:10pt Times New Roman;margin:0;text-indent:-40.5pt;margin-left:40.5pt'><b>ITEM 16 &#8211;&#160;FORM 10-K SUMMARY</b></p>
<p style='font:10pt Times New Roman;margin:0;margin-left:40.5pt'><kbd style='position:absolute;font:10pt Dutch801SWC;margin-left:-31.5pt'>None.</kbd><kbd style='margin-left:31.5pt'></kbd> &#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'>56</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><a id='a30'></a><p style='font:10pt Times New Roman;margin:0;text-indent:-40.5pt;margin-left:40.5pt;text-align:center'><b>SIGNATURES</b></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:9pt'></kbd>Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned this 27th day of March 2023.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0;text-align:center'>UTAH MEDICAL PRODUCTS, INC.</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='position:absolute;font:10pt Dutch801SWC;margin-left:103.5pt'>By:</kbd><kbd style='margin-left:126pt'></kbd><span style='border-bottom:1px solid #000000'>/s/ Kevin L. Cornwell </span>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:126pt'></kbd>Kevin L. Cornwell&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:126pt'></kbd>Chief Executive Officer&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#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:9pt'></kbd>Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities indicated on this 27th day of March 2023.&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#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:103.5pt'></kbd>By: &#160;<span style='border-bottom:1px solid #000000'> /s/ James H. Beeson</span>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:117pt'></kbd>James H. Beeson, Director&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#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:103.5pt'></kbd>By: &#160;<span style='border-bottom:1px solid #000000'> /s/ Kevin L. Cornwell</span>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:117pt'></kbd>Kevin L. Cornwell, Director&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#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:103.5pt'></kbd>By: &#160;<span style='border-bottom:1px solid #000000'> /s/ Ernst G. Hoyer</span>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:117pt'></kbd>Ernst G. Hoyer, Director&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#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:103.5pt'></kbd>By: &#160;<span style='border-bottom:1px solid #000000'> /s/ Barbara A. Payne</span>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:117pt'></kbd>Barbara A. Payne, Director&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'>&#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:103.5pt'></kbd>By: &#160;<span style='border-bottom:1px solid #000000'> /s/ Paul O. Richins</span>&#160;</p>
<p style='font:10pt Times New Roman;margin:0'><kbd style='margin-left:115.2pt'></kbd>Paul O. Richins, Director&#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'>57</p>
<hr style='page-break-after:always;border:0;height:1.5pt;background-color:#909090;margin:8pt 0'/><p style='line-height:0;margin:0'></p>
<p style='font:10pt Dutch801SWC;margin:0'><span style='font-family:Times New Roman;color:#0000FF;border-bottom:1px solid #0000FF'><a href='#a1' style='text-decoration:none'>Table of Contents</a></span></p>
<hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/><hr style='border:0;height:0;width:0;margin:14pt 0 0 0'/></div>
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.5
<SEQUENCE>2
<FILENAME>utmd_ex10z5.htm
<DESCRIPTION>EXHIBIT 10.5
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<HEAD>
</HEAD>
<BODY>
<DIV><P align=right style='font:10pt Times New Roman;margin:0'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Exhibit 10.5</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SUMMARY of OFFICER and DIRECTOR COMPENSATION </B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>The Employment Agreement in Exhibits 7 &amp; 8 of this report is the only written contractual compensation arrangement the Company has with any of its Directors and Executive Officers. &nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>During 2023, the Company&#8217;s Chief Executive and Principal Financial Officer (the Company&#8217;s &#8220;Named Executive Officers&#8221;) are scheduled to receive the following compensation from the Company: &nbsp;</P>
<TABLE style=border-collapse:collapse;width:100%><TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>Compensation Arrangement</FONT></P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>2023 Scheduled Amount</FONT></P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Base salary</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'>$ &nbsp;156,000 (CEO); $130,000 (PFO)</P>
</TD></TR>
<TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin:0'>401(k) matching contributions</P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7,920 (maximum)</P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Section 125 plan matching contributions (1)</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;500 (maximum)</P>
</TD></TR>
<TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Management bonus</P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'>will be determined at year-end</P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Pet health benefits (1)</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;500 (maximum)</P>
</TD></TR>
<TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Family medical benefits (1)</P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'>will depend on future events </P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Travel expense reimbursement (2)</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5,000 (CEO); 500 (PFO)</P>
</TD></TR>
<TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD></TR>
</TABLE>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>During 2023, the Company&#8217;s Directors are scheduled to receive the following compensation from the Company:</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<TABLE style=border-collapse:collapse;width:100%><TR><TD valign=top style=width:166.5pt><P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>Compensation Arrangement</FONT></P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>Ernst Hoyer</FONT></P>
</TD><TD valign=top style=width:63pt><P align=right style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>Barbara Payne</FONT></P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>James Beeson</FONT></P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>Paul Richins </FONT></P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:166.5pt><P style='font:10pt Times New Roman;margin:0'>Base</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>$ &nbsp;29,400</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:63pt><P align=right style='font:10pt Times New Roman;margin:0'>$ &nbsp;29,400</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>$ &nbsp;29,400</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>$29,400</P>
</TD></TR>
<TR><TD valign=top style=width:166.5pt><P style='font:10pt Times New Roman;margin:0'>Executive Committee </P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>4,200</P>
</TD><TD valign=top style=width:63pt><P align=right style='font:10pt Times New Roman;margin:0'>- &nbsp;</P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:166.5pt><P style='font:10pt Times New Roman;margin:0'>Audit Committee Chairman</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>4,200</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:63pt><P align=right style='font:10pt Times New Roman;margin:0'>- &nbsp;</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD></TR>
<TR><TD valign=top style=width:166.5pt><P style='font:10pt Times New Roman;margin:0'>Travel Expense Reimbursement (2)</P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>250</P>
</TD><TD valign=top style=width:63pt><P align=right style='font:10pt Times New Roman;margin:0'>450</P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>400</P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>50</P>
</TD></TR>
</TABLE>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>(1) &nbsp;&nbsp;CEO and PFO participate on the same basis as other eligible employees.</P>
<P style='font:10pt CG Times;margin:0'><FONT style='font-family:Times New Roman'>(2) &nbsp;&nbsp;Estimated 2023 travel expenses on behalf of UTMD business. &nbsp;The Company reimburses its employees and directors for authorized business expenses.</FONT></P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21
<SEQUENCE>3
<FILENAME>utmd_ex21.htm
<DESCRIPTION>EXHIBIT 21
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<HEAD>
</HEAD>
<BODY>
<DIV><P align=right style='font:10pt Times New Roman;margin:0'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Exhibit 21</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SUBSIDIARIES of UTAH MEDICAL PRODUCTS, INC.</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<TABLE style=border-collapse:collapse;width:100%><TR><TD valign=top style=width:183.9pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>Subsidiary Name</FONT></P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>Jurisdiction of Organization</FONT></P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'>Business Name</FONT></P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:183.9pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Utah Medical Products Ltd.</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Bermuda</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Utah Medical Products</P>
</TD></TR>
<TR><TD valign=top style=width:183.9pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Columbia Medical &amp; Surgical, Inc.</P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Oregon</P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Utah Medical Products</P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:183.9pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Abcorp Medical</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Florida</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Utah Medical Products</P>
</TD></TR>
<TR><TD valign=top style=width:183.9pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Femcare Group Limited</P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>United Kingdom</P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Femcare Group</P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:183.9pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Femcare Limited</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>United Kingdom</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Femcare Limited</P>
</TD></TR>
<TR><TD valign=top style=width:183.9pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Femcare Australia Pty Ltd</P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Australia</P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Femcare Australia</P>
</TD></TR>
<TR><TD valign=top bgcolor=#CCEEFF style=width:183.9pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Femcare N.Z. Ltd</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>New Zealand</P>
</TD><TD valign=top bgcolor=#CCEEFF style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Femcare Australia</P>
</TD></TR>
<TR><TD valign=top style=width:183.9pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Utah Medical Products Canada Inc.</P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Canada</P>
</TD><TD valign=top style=width:183.95pt;padding-left:5.4pt;padding-right:5.4pt><P style='font:10pt Times New Roman;margin:0'>Femcare Canada</P>
</TD></TR>
</TABLE>
<P style='font:10pt CG Times;margin:0'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>4
<FILENAME>utmd_ex23z1.htm
<DESCRIPTION>EXHIBIT 23.1
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<HEAD>
</HEAD>
<BODY>
<DIV><P align=right style='font:10pt Times New Roman;margin:0'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Exhibit 23.1</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;color:#000000;background-color:#FFFFFF'>We consent to the incorporation by reference in Registration Statement No. 333-199337 (on Form S-8) of Utah Medical Products, Inc. of our audit report dated March 27, 2023, on the consolidated financial statements of Utah Medical Products, Inc., which report appears in this annual report on Form 10-K of Utah Medical Products, Inc. for the year ended December 31, 2022.</P>
<P style='font:10pt Times New Roman;margin:0;color:#000000;background-color:#FFFFFF'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;color:#000000;background-color:#FFFFFF'><FONT style='border-bottom:1px solid #000000'>/s/ Haynie &amp; Company</FONT></P>
<P style='font:10pt Times New Roman;margin:0'>Haynie &amp; Company</P>
<P style='font:10pt Times New Roman;margin:0'>Salt Lake City, Utah</P>
<P style='font:10pt CG Times;margin:0'><FONT style='font-family:Times New Roman'>March 27, 2023</FONT></P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.2
<SEQUENCE>5
<FILENAME>utmd_ex23z2.htm
<DESCRIPTION>EXHIBIT 23.2
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<HEAD>
</HEAD>
<BODY>
<DIV><P align=right style='font:10pt Times New Roman;margin:0'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Exhibit 23.2</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>Utah Medical Products, Inc.</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>We consent to the incorporation by reference in Registration Statement Nos. 333-127946, 333-199337 &nbsp;(on Form S-8), and 333-182078 (on Form S-3) of Utah Medical Products, Inc. of our audit reports dated 20 March 2023, on the financial statements of Femcare Group Limited, which reports appear in this annual report on Form 10-K of Utah Medical Products, Inc. for the years ended 31 December 2022 and 2021.</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><IMG src=utmdex23z2_1.jpg width=321 height=39 alt='Picture 1' title='Picture 1'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>Nortons Assurance Limited</P>
<P style='font:10pt Times New Roman;margin:0'>Chartered Accountants and Statutory Auditor</P>
<P style='font:10pt Times New Roman;margin:0'>Reading</P>
<P style='font:10pt Times New Roman;margin:0'>United Kingdom</P>
<P style='font:10pt CG Times;margin:0'><FONT style='font-family:Times New Roman'>20 March 2023</FONT></P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>6
<FILENAME>utmd_ex31z1.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<HEAD>
</HEAD>
<BODY>
<DIV><P align=right style='font:10pt Times New Roman;margin:0;margin-left:36pt'><B>Exhibit 31.1</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION OF CEO </B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>PURSUANT TO RULE 13a-14(a) AS ADOPTED PURSUANT TO </B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002 </B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>I, Kevin L. Cornwell, certify that:</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>1.</KBD><KBD style=margin-left:18pt></KBD>I have reviewed this annual report on Form 10-K of Utah Medical Products, Inc.; &nbsp;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>2.</KBD><KBD style=margin-left:18pt></KBD>Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>3.</KBD><KBD style=margin-left:18pt></KBD>Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>4.</KBD><KBD style=margin-left:18pt></KBD>The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt CG Times;margin-left:-15.3pt'>(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 Times New Roman;margin:0;text-indent:-36pt;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>5.</KBD><KBD style=margin-left:18pt></KBD>The registrant&#8217;s other certifying officer 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 registrant&#8217;s board of directors (or persons performing the equivalent functions):&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0;text-indent:-36pt;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>Date: March 27, 2023</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'> &nbsp;&nbsp;&nbsp;/s/ Kevin L. Cornwell &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></P>
<P style='font:10pt Times New Roman;margin:0'>Kevin L. Cornwell</P>
<P style='font:10pt Times New Roman;margin:0'>Chief Executive Officer</P>
<P style='font:10pt CG Times;margin:0'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>7
<FILENAME>utmd_ex31z2.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<HEAD>
</HEAD>
<BODY>
<DIV><P align=right style='font:10pt Times New Roman;margin:0'><B>Exhibit 31.2</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER </B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>PURSUANT TO RULE 13a-14(a) AS ADOPTED PURSUANT TO </B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002 </B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>I, Brian L. Koopman, certify that:</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>1.</KBD><KBD style=margin-left:18pt></KBD>I have reviewed this annual report on Form 10-K of Utah Medical Products, Inc.; &nbsp;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>2.</KBD><KBD style=margin-left:18pt></KBD>Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>3.</KBD><KBD style=margin-left:18pt></KBD>Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this quarterly report;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>4.</KBD><KBD style=margin-left:18pt></KBD>The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0;text-indent:-15.3pt;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt CG Times;margin-left:0.05pt'>5.</KBD><KBD style=margin-left:18pt></KBD>The registrant&#8217;s other certifying officer 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 registrant&#8217;s board of directors (or persons performing the equivalent functions):&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0;text-indent:-36pt;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(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 Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>Date: March 27, 2023</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/s/ Brian L. Koopman &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></P>
<P style='font:10pt Times New Roman;margin:0'>Brian L. Koopman</P>
<P style='font:10pt Times New Roman;margin:0'>Principal Financial Officer</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>8
<FILENAME>utmd_ex32z1.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<HEAD>
</HEAD>
<BODY>
<DIV><P align=right style='font:10pt Times New Roman;margin:0'><B>Exhibit 32.1</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION PURSUANT TO</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>18 U.S.C. SECTION 1350,</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>AS ADOPTED PURSUANT TO</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>In connection with the Annual Report of Utah Medical Products, Inc. (the &#8220;Company&#8221;) on Form 10-K for the period ending December 31, 2022, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Kevin L. Cornwell, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge and belief:</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt CG Times;margin-left:-34.2pt'>(1)</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 Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt CG Times;margin-left:-34.2pt'>(2)</KBD>the information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;text-indent:-73.8pt;margin-left:73.8pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'> &nbsp;&nbsp;&nbsp;&nbsp;/s/ Kevin L. Cornwell &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></P>
<P style='font:10pt Times New Roman;margin:0'>Kevin L. Cornwell</P>
<P style='font:10pt Times New Roman;margin:0'>Chief Executive Officer</P>
<P style='font:10pt Times New Roman;margin:0'>March 27, 2023</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt CG Times;margin:0'><FONT style='font-family:Times New Roman'><I>A signed original of this written statement required by Section 906, or other document authenticating, acknowledging, or otherwise adopting the signature that appears in typed form within the electronic version of this written statement has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.</I></FONT></P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>9
<FILENAME>utmd_ex32z2.htm
<DESCRIPTION>EXHIBIT 32.2
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<HEAD>
</HEAD>
<BODY>
<DIV><P align=right style='font:10pt Times New Roman;margin:0'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Exhibit 32.2</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION PURSUANT TO</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>18 U.S.C. SECTION 1350,</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>AS ADOPTED PURSUANT TO</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>In connection with the Annual Report of Utah Medical Products, Inc. (the &#8220;Company&#8221;) on Form 10-K for the period ending December 31, 2022, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Brian L. Koopman, Principal Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge and belief:</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt CG Times;margin-left:-34.2pt'>(1)</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 Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt CG Times;margin-left:-34.2pt'>(2)</KBD>the information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'> &nbsp;&nbsp; &nbsp;/s/ Brian L. Koopman</FONT></P>
<P style='font:10pt Times New Roman;margin:0'>Brian L. Koopman</P>
<P style='font:10pt Times New Roman;margin:0'>Principal Financial Officer</P>
<P style='font:10pt Times New Roman;margin:0'>March 27, 2023</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt CG Times;margin:0'><FONT style='font-family:Times New Roman'><I>A signed original of this written statement required by Section 906, or other document authenticating, acknowledging, or otherwise adopting the signature that appears in typed form within the electronic version of this written statement has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.</I></FONT></P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>utmd-20221231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. 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.utahmed.com/20221231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_AssetsCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill' xlink:label='us-gaap_Goodwill'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_Goodwill' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:label='us-gaap_IntangibleAssetsNetExcludingGoodwill'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_IntangibleAssetsNetExcludingGoodwill' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:label='us-gaap_OperatingLeaseLiabilityNoncurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_OperatingLeaseLiabilityNoncurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' xlink:label='us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:label='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_Liabilities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_StockholdersEquity' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue' xlink:label='us-gaap_CommonStockValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_CommonStockValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:label='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock' xlink:label='us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_AdditionalPaidInCapitalCommonStock' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='4.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold' xlink:label='us-gaap_CostOfGoodsAndServicesSold'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_CostOfGoodsAndServicesSold' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_GrossProfit' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense' xlink:label='us-gaap_SellingAndMarketingExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_SellingAndMarketingExpense' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_ResearchAndDevelopmentExpense' use='optional' order='3.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense' xlink:label='us-gaap_GeneralAndAdministrativeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_GeneralAndAdministrativeExpense' use='optional' order='4.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherInterestAndDividendIncome' xlink:label='us-gaap_OtherInterestAndDividendIncome'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_OtherInterestAndDividendIncome' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RoyaltyIncomeNonoperating' xlink:label='us-gaap_RoyaltyIncomeNonoperating'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_RoyaltyIncomeNonoperating' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_ProfitLoss' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_ProfitLoss' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax' xlink:label='us-gaap_ComprehensiveIncomeNetOfTax'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_ComprehensiveIncomeNetOfTax' xlink:to='us-gaap_ProfitLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_ComprehensiveIncomeNetOfTax' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' use='optional' order='2.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_ProfitLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_Depreciation' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets' xlink:label='us-gaap_AmortizationOfIntangibleAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_AmortizationOfIntangibleAssets' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts' xlink:label='us-gaap_ProvisionForDoubtfulAccounts'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_ProvisionForDoubtfulAccounts' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:label='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_GainLossOnDispositionOfAssets' use='optional' order='6.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation' xlink:label='us-gaap_ShareBasedCompensation'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_ShareBasedCompensation' use='optional' order='8.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:label='us-gaap_DeferredTaxExpenseFromStockOptionsExercised'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_DeferredTaxExpenseFromStockOptionsExercised' use='optional' order='9.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='10.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherReceivables' xlink:label='us-gaap_IncreaseDecreaseInOtherReceivables'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherReceivables' use='optional' order='11.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='12.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:label='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' use='optional' order='13.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='14.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInAccruedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccruedLiabilities' use='optional' order='15.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='1.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireIntangibleAssets' xlink:label='us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireIntangibleAssets' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_ProceedsFromIssuanceOfCommonStock' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:label='us-gaap_PaymentsForRepurchaseOfCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_PaymentsForRepurchaseOfCommonStock' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividends' xlink:label='us-gaap_PaymentsOfDividends'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_PaymentsOfDividends' use='optional' order='3.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:label='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:to='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' use='optional' order='2.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent' xlink:label='us-gaap_AccountsReceivableGrossCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:to='us-gaap_AccountsReceivableGrossCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestReceivableAndOtherAssets' xlink:label='us-gaap_InterestReceivableAndOtherAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:to='us-gaap_InterestReceivableAndOtherAssets' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:label='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:to='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' use='optional' order='3.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves' xlink:label='us-gaap_InventoryFinishedGoodsNetOfReserves'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryNet' xlink:to='us-gaap_InventoryFinishedGoodsNetOfReserves' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryNet' xlink:to='us-gaap_InventoryWorkInProcess' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryNet' xlink:to='us-gaap_InventoryRawMaterials' use='optional' order='3.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedPatentsGross' xlink:label='us-gaap_FiniteLivedPatentsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_FiniteLivedPatentsGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedNoncompeteAgreementsGross' xlink:label='us-gaap_FiniteLivedNoncompeteAgreementsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_FiniteLivedNoncompeteAgreementsGross' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedTrademarksGross' xlink:label='us-gaap_FiniteLivedTrademarksGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_FiniteLivedTrademarksGross' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedCustomerRelationshipsGross' xlink:label='us-gaap_FiniteLivedCustomerRelationshipsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_FiniteLivedCustomerRelationshipsGross' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_OtherFiniteLivedIntangibleAssetsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_OtherFiniteLivedIntangibleAssetsGross' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset' xlink:label='us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_OperatingLeaseRightOfUseAsset' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:label='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' use='optional' order='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsNet' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsNet' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent' xlink:label='us-gaap_AccruedIncomeTaxesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='us-gaap_AccruedIncomeTaxesCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationReserveCurrent' xlink:label='us-gaap_LitigationReserveCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='us-gaap_LitigationReserveCurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='us-gaap_OtherAccruedLiabilitiesCurrent' use='optional' order='4.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_Land' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/2022/elts/us-gaap-2022.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:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_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/2022/elts/us-gaap-2022.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:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_Land' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/2022/elts/us-gaap-2022.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:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_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/2022/elts/us-gaap-2022.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:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities' xlink:label='us-gaap_DeferredTaxLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='us-gaap_DeferredTaxAssetsInventory' use='optional' order='1.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' use='optional' order='3.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:label='fil_DeferredTaxLiabilitiesDepreciationAndAmortization'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='fil_DeferredTaxLiabilitiesDepreciationAndAmortization' use='optional' order='4.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:label='us-gaap_CurrentIncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_CurrentIncomeTaxExpenseBenefit' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DeferredIncomeTaxExpense' xlink:label='fil_DeferredIncomeTaxExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='fil_DeferredIncomeTaxExpense' use='optional' order='2.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:label='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:label='us-gaap_IncomeTaxReconciliationTaxCreditsResearch'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationTaxCreditsResearch' use='optional' order='4.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' xlink:label='fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_AdjustmentToDeferredTaxLiability' xlink:label='fil_AdjustmentToDeferredTaxLiability'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='fil_AdjustmentToDeferredTaxLiability' use='optional' order='7.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationOtherAdjustments' use='optional' order='8.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' use='optional' order='2.0' weight='1.0'/>
	</link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>11
<FILENAME>utmd-20221231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. 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.utahmed.com/20221231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeMember' xlink:label='us-gaap_ComprehensiveIncomeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_ComprehensiveIncomeMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:label='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding' xlink:label='us-gaap_SharesOutstanding'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharesOutstanding' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockOptionPlanExpense' xlink:label='us-gaap_StockOptionPlanExpense'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockOptionPlanExpense' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsCommonStockCash' xlink:label='us-gaap_DividendsCommonStockCash'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_DividendsCommonStockCash' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ProfitLoss' use='optional' order='12.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipment" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipment"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipment"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebt" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote5LongTermDebt"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebt"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingencies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote6CommitmentsAndContingencies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingencies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxes" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxes"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxes"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8Options" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8Options"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8Options"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformation" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote9GeographicInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegion"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitments"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlans" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote13EmployeeBenefitPlans"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlans"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14Leases" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14Leases"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14Leases"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShare" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote16EarningsPerShare"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShare"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncements" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote17RecentAccountingPronouncements"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncements"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote18SubsequentEvents" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote18SubsequentEvents"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote18SubsequentEvents"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_PropertyPlantAndEquipmentByTypeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember' xlink:label='us-gaap_BuildingAndBuildingImprovementsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_BuildingAndBuildingImprovementsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquipmentMember' xlink:label='us-gaap_EquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_EquipmentMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MinimumMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MaximumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentUsefulLife' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_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/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MinimumMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MaximumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='fil_DistributionRightsAcquisitionAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='fil_DistributionRightsAcquisitionDomain' xlink:to='fil_CoopersurgicalIncMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:label='us-gaap_FiniteLivedIntangibleAssetUsefulLife'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetUsefulLife' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FinitelivedIntangibleAssetsAcquired1' use='optional' order='9.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_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='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_U.S.AndCanadaMember' xlink:label='fil_U.S.AndCanadaMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_U.S.AndCanadaMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EnglandAndAustraliaMember' xlink:label='fil_EnglandAndAustraliaMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_EnglandAndAustraliaMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IE' xlink:label='country_IE'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='country_IE' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Land' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='7.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebtDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote5LongTermDebtDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebtDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote6CommitmentsAndContingenciesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareGranted' xlink:label='fil_PriceRangePerShareGranted'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareGranted' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareExpired' xlink:label='fil_PriceRangePerShareExpired'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareExpired' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareExercised' xlink:label='fil_PriceRangePerShareExercised'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareExercised' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareOutstanding' xlink:label='fil_PriceRangePerShareOutstanding'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareOutstanding' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareTotalExercisable' xlink:label='fil_PriceRangePerShareTotalExercisable'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareTotalExercisable' use='optional' order='10.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis' xlink:label='srt_StatementScenarioAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementScenarioAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementScenarioAxis' xlink:to='srt_ScenarioUnspecifiedDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementScenarioAxis' xlink:to='srt_ScenarioUnspecifiedDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_Range1Member' xlink:label='fil_Range1Member'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='fil_Range1Member' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_Range2Member' xlink:label='fil_Range2Member'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='fil_Range2Member' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_Range3Member' xlink:label='fil_Range3Member'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='fil_Range3Member' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_WeightedAverageRemainingContractualLifeYears' xlink:label='fil_WeightedAverageRemainingContractualLifeYears'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_WeightedAverageRemainingContractualLifeYears' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' use='optional' order='7.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_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='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GlobalMember' xlink:label='fil_GlobalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_GlobalMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_ObstetricsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_GynecologyElectrosurgeryUrologyMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_NeonatalMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_BloodPressureMonitoringandAccessoriesMember' xlink:label='fil_BloodPressureMonitoringandAccessoriesMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_BloodPressureMonitoringandAccessoriesMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_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='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_OusMember' xlink:label='fil_OusMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_OusMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_ObstetricsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_GynecologyElectrosurgeryUrologyMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_NeonatalMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_BloodPressureMonitoringandAccessoriesMember' xlink:label='fil_BloodPressureMonitoringandAccessoriesMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_BloodPressureMonitoringandAccessoriesMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote13EmployeeBenefitPlansDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='fil_DistributionRightsAcquisitionAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='fil_DistributionRightsAcquisitionDomain' xlink:to='fil_CoopersurgicalIncMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FinitelivedIntangibleAssetsAcquired1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:label='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' use='optional' order='2.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails"/>
	<link:roleRef roleURI='http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists' xlink:type='simple' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd#eedm'/>
	<link:definitionLink xlink:role='http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists' xlink:type='extended'>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract' xlink:label='us-gaap_AccruedLiabilitiesCurrentAbstract'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_AccruedLiabilitiesCurrentAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' xlink:type='arc' order='0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAbstract' xlink:label='us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAbstract'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' xlink:type='arc' order='0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' xlink:type='arc' order='0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract' xlink:label='us-gaap_LiabilitiesAbstract'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_LiabilitiesAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' xlink:type='arc' order='0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' xlink:type='arc' order='0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AccruedLiabilitiesCurrent' xlink:type='arc' order='0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNetAbstract'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_FiniteLivedIntangibleAssetsNetAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:type='arc' order='0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract' xlink:label='us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:type='arc' order='0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsNoncurrentAbstract' xlink:label='us-gaap_AssetsNoncurrentAbstract'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_AssetsNoncurrentAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:type='arc' order='0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:type='arc' order='0'/>
		<link:definitionArc xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:type='arc' order='0'/>
	</link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>12
<FILENAME>utmd-20221231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABELS LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. 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.utahmed.com/20221231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel"/>
	<link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractualObligation' xlink:label='us-gaap_ContractualObligation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ContractualObligation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Contractual Obligation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ContractualObligation' xlink:to='lab_us-gaap_ContractualObligation'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_GynecologyElectrosurgeryUrologyMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gynecology/Electrosurgery/Urology</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_GynecologyElectrosurgeryUrologyMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Gynecology/Electrosurgery/Urology, 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_GynecologyElectrosurgeryUrologyMember' xlink:to='lab_fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:to='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:label='fil_DeferredTaxLiabilitiesDepreciationAndAmortization'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Liabilities Depreciation and Amortization</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Deferred Tax Liabilities Depreciation and Amortization</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Deferred Tax Liabilities Depreciation and Amortization, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:to='lab_fil_DeferredTaxLiabilitiesDepreciationAndAmortization'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsInventory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets, Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsInventory' xlink:to='lab_us-gaap_DeferredTaxAssetsInventory'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LitigationExpense' xlink:label='fil_LitigationExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LitigationExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LitigationExpense' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Litigation Expense, 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_LitigationExpense' xlink:to='lab_fil_LitigationExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MinimumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Minimum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MinimumMember' xlink:to='lab_srt_MinimumMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRecognitionPolicyTextBlock' xlink:label='us-gaap_RevenueRecognitionPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueRecognitionPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Revenue Recognition</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RevenueRecognitionPolicyTextBlock' xlink:to='lab_us-gaap_RevenueRecognitionPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' xlink:label='us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stock-based Compensation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' xlink:to='lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:label='us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and Cash Equivalents</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:to='lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock' xlink:label='us-gaap_SubsequentEventsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SubsequentEventsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 18 - Subsequent Events</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SubsequentEventsTextBlock' xlink:to='lab_us-gaap_SubsequentEventsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_RevenuesbyproductcategoryandregionTextBlock' xlink:label='fil_RevenuesbyproductcategoryandregionTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_RevenuesbyproductcategoryandregionTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 11 - Revenues By Product Category And Region</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_RevenuesbyproductcategoryandregionTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Revenues By Product Category And Region, 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_RevenuesbyproductcategoryandregionTextBlock' xlink:to='lab_fil_RevenuesbyproductcategoryandregionTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:label='us-gaap_PaymentsForRepurchaseOfCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock purchased and retired {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Common stock purchased and retired</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:to='lab_us-gaap_PaymentsForRepurchaseOfCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' 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/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash flows from operating activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsCommonStockCash' xlink:label='us-gaap_DividendsCommonStockCash'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsCommonStockCash' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock dividends</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsCommonStockCash' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Common stock dividends</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsCommonStockCash' xlink:to='lab_us-gaap_DividendsCommonStockCash'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock received and retired upon exercise of stock options, shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Common stock received and retired upon exercise of stock options, shares (number of shares), 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_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:to='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gross profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Gross profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Gross Profit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GrossProfit' xlink:to='lab_us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property and equipment, net (notes 4 and 10)</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'>Property and equipment, net (notes 4 and 10)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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 and other receivables, net (note 2)</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.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfFinancialPositionAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. 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'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='lab_us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AmendmentDescription' xlink:label='dei_AmendmentDescription'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AmendmentDescription' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amendment Description</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AmendmentDescription' xlink:to='lab_dei_AmendmentDescription'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CompanySalesInTheUnitedStates' xlink:label='fil_CompanySalesInTheUnitedStates'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesInTheUnitedStates' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Company Sales in the United States</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesInTheUnitedStates' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Company Sales in the United States, 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_CompanySalesInTheUnitedStates' xlink:to='lab_fil_CompanySalesInTheUnitedStates'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareExercised' xlink:label='fil_PriceRangePerShareExercised'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareExercised' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Price Range Per Share Exercised</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareExercised' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the description of Price Range Per Share Exercised, 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_PriceRangePerShareExercised' xlink:to='lab_fil_PriceRangePerShareExercised'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_SegmentGeographicalDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Segment, Geographical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_SegmentGeographicalDomain' xlink:to='lab_srt_SegmentGeographicalDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves' xlink:label='us-gaap_InventoryFinishedGoodsNetOfReserves'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryFinishedGoodsNetOfReserves' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory, Finished Goods, Net of 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_InventoryFinishedGoodsNetOfReserves' xlink:to='lab_us-gaap_InventoryFinishedGoodsNetOfReserves'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' xlink:label='us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Earnings Per Share, Basic and 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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' xlink:label='us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Quarterly Financial Information</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock' xlink:label='us-gaap_LesseeOperatingLeasesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeasesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 14 - Leases</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeasesTextBlock' xlink:to='lab_us-gaap_LesseeOperatingLeasesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaid' xlink:label='us-gaap_IncomeTaxesPaid'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxesPaid' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash paid during the period 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_IncomeTaxesPaid' xlink:to='lab_us-gaap_IncomeTaxesPaid'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInAccruedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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_IncreaseDecreaseInAccruedLiabilities' xlink:to='lab_us-gaap_IncreaseDecreaseInAccruedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:label='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amortization of operating lease 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_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:to='lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfCashFlowsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='lab_us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementLineItems' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement [Line Items]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementLineItems' xlink:to='lab_us-gaap_StatementLineItems'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:label='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accumulated other comprehensive 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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:to='lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stockholders&apos; equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='lab_us-gaap_StockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList' xlink:label='us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Right-of-Use Asset, Statement of Financial Position</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList' xlink:to='lab_us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorLocation' xlink:label='dei_AuditorLocation'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorLocation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Location</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorLocation' xlink:to='lab_dei_AuditorLocation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalPeriodFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Period Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalPeriodFocus' xlink:to='lab_dei_DocumentFiscalPeriodFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentFinStmtErrorCorrectionFlag' xlink:label='dei_DocumentFinStmtErrorCorrectionFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFinStmtErrorCorrectionFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Financial Statement Error Correction</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFinStmtErrorCorrectionFlag' xlink:to='lab_dei_DocumentFinStmtErrorCorrectionFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductsAndServicesDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductsAndServicesDomain' xlink:to='lab_srt_ProductsAndServicesDomain'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LongLivedAssetsInAustralia' xlink:label='fil_LongLivedAssetsInAustralia'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInAustralia' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in Australia</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInAustralia' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in Australia, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInAustralia' xlink:to='lab_fil_LongLivedAssetsInAustralia'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_Range1Member' xlink:label='fil_Range1Member'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range1Member' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Range 1</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range1Member' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Range 1, 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_Range1Member' xlink:to='lab_fil_Range1Member'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Payments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' xlink:label='us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Exercise of Option, Tax Benefit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' xlink:to='lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual' xlink:label='us-gaap_ProductWarrantyAccrual'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProductWarrantyAccrual' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Standard and Extended Product Warranty Accrual</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProductWarrantyAccrual' xlink:to='lab_us-gaap_ProductWarrantyAccrual'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent' xlink:label='us-gaap_AccruedIncomeTaxesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedIncomeTaxesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued Income Taxes, 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_AccruedIncomeTaxesCurrent' xlink:to='lab_us-gaap_AccruedIncomeTaxesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:label='fil_ProductSaleAndPurchaseCommitmentsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 12 - Product Sale and Purchase Commitments</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Note 12 - Product Sale and Purchase Commitments, 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_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:to='lab_fil_ProductSaleAndPurchaseCommitmentsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Cash at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Cash at end of year</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:to='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts payable {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/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Adjustments to reconcile net income to net cash provided by operating activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock purchased and retired</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:to='lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock issued upon exercise of employee stock options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:to='lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncomeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other, 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_OtherNonoperatingIncomeExpense' xlink:to='lab_us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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'>Sales, net (notes 1, 3, 9 and 11)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' 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_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:to='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares Authorized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesAuthorized' xlink:to='lab_us-gaap_CommonStockSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue' xlink:label='us-gaap_CommonStockValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock, $.01 par value; 50,000 shares authorized, issued 3,628 shares in 2022 and 3,655 shares in 2021</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockValue' xlink:to='lab_us-gaap_CommonStockValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' xlink:label='us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long term income tax payable (REPAT tax) (note 7)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' xlink:to='lab_us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total current liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total current liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='lab_us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AmendmentFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amendment Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AmendmentFlag' xlink:to='lab_dei_AmendmentFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CityAreaCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>City Area Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CityAreaCode' xlink:to='lab_dei_CityAreaCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityVoluntaryFilers' xlink:label='dei_EntityVoluntaryFilers'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityVoluntaryFilers' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Voluntary Filers</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityVoluntaryFilers' xlink:to='lab_dei_EntityVoluntaryFilers'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCentralIndexKey' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Central Index Key</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.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityRegistrantName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Registrant Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityRegistrantName' xlink:to='lab_dei_EntityRegistrantName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_NeonatalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Neonatal</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_NeonatalMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Neonatal, 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_NeonatalMember' xlink:to='lab_fil_NeonatalMember'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LongLivedAssetsInIreland' xlink:label='fil_LongLivedAssetsInIreland'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInIreland' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in Ireland</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInIreland' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in Ireland, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInIreland' xlink:to='lab_fil_LongLivedAssetsInIreland'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_WeightedAverageRemainingContractualLifeYears' xlink:label='fil_WeightedAverageRemainingContractualLifeYears'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_WeightedAverageRemainingContractualLifeYears' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Weighted Average Remaining Contractual Life (Years)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_WeightedAverageRemainingContractualLifeYears' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Weighted Average Remaining Contractual Life (Years), as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_WeightedAverageRemainingContractualLifeYears' xlink:to='lab_fil_WeightedAverageRemainingContractualLifeYears'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_AdjustmentToDeferredTaxLiability' xlink:label='fil_AdjustmentToDeferredTaxLiability'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AdjustmentToDeferredTaxLiability' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Adjustment To Deferred Tax Liability</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AdjustmentToDeferredTaxLiability' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Adjustment To Deferred Tax Liability</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AdjustmentToDeferredTaxLiability' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Adjustment To Deferred Tax Liability, 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_AdjustmentToDeferredTaxLiability' xlink:to='lab_fil_AdjustmentToDeferredTaxLiability'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt' xlink:label='us-gaap_LongTermDebt'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LongTermDebt' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Term Debt</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LongTermDebt' xlink:to='lab_us-gaap_LongTermDebt'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConstructionInProgressGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Construction in Progress, 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_ConstructionInProgressGross' xlink:to='lab_us-gaap_ConstructionInProgressGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedPatentsGross' xlink:label='us-gaap_FiniteLivedPatentsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedPatentsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Patents, 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_FiniteLivedPatentsGross' xlink:to='lab_us-gaap_FiniteLivedPatentsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, Maturity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' xlink:label='us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 8 - Options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' xlink:to='lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effect of exchange rate changes on cash</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:to='lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProfitLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProfitLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProfitLoss' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Net Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProfitLoss' xlink:to='lab_us-gaap_ProfitLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:label='us-gaap_OperatingLeaseLiabilityNoncurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long term lease liability</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:to='lab_us-gaap_OperatingLeaseLiabilityNoncurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:label='us-gaap_IntangibleAssetsNetExcludingGoodwill'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other intangible assets, net (note 2)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Other intangible assets, net (note 2)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:to='lab_us-gaap_IntangibleAssetsNetExcludingGoodwill'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other intangible assets - accumulated amortization</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Other intangible assets - accumulated amortization</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentsIncorporatedByReferenceTextBlock' xlink:label='dei_DocumentsIncorporatedByReferenceTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentsIncorporatedByReferenceTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Documents Incorporated by Reference</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentsIncorporatedByReferenceTextBlock' xlink:to='lab_dei_DocumentsIncorporatedByReferenceTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressPostalZipCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Postal Zip Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressPostalZipCode' xlink:to='lab_dei_EntityAddressPostalZipCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_TradingSymbol' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Trading Symbol</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_TradingSymbol' xlink:to='lab_dei_TradingSymbol'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_BloodPressureMonitoringandAccessoriesMember' xlink:label='fil_BloodPressureMonitoringandAccessoriesMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_BloodPressureMonitoringandAccessoriesMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Blood Pressure Monitoring and Accessories</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_BloodPressureMonitoringandAccessoriesMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Blood Pressure Monitoring and Accessories, 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_BloodPressureMonitoringandAccessoriesMember' xlink:to='lab_fil_BloodPressureMonitoringandAccessoriesMember'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LongLivedAssetsInTheUnitedStates' xlink:label='fil_LongLivedAssetsInTheUnitedStates'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInTheUnitedStates' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in the United States</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInTheUnitedStates' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in the United States, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInTheUnitedStates' xlink:to='lab_fil_LongLivedAssetsInTheUnitedStates'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' xlink:label='us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' xlink:to='lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' xlink:label='us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' xlink:to='lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DeferredIncomeTaxExpense' xlink:label='fil_DeferredIncomeTaxExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredIncomeTaxExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Income Tax Expense</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredIncomeTaxExpense' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Deferred Income Tax Expense, 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_DeferredIncomeTaxExpense' xlink:to='lab_fil_DeferredIncomeTaxExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:label='us-gaap_FiniteLivedIntangibleAssetUsefulLife'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Useful Life</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:label='fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule Of Long-Lived Assets By Geographic Area</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Schedule Of Long-Lived Assets By Geographic Area, 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_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:to='lab_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TableTextBlockSupplementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Tables/Schedules</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='lab_us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' xlink:label='us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 13 - Employee Benefit Plans</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' xlink:to='lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from issuance of common stock - options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:to='lab_us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock issued upon exercise of employee stock options, 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_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:to='lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeStatementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeStatementAbstract' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - 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_IncomeStatementAbstract' xlink:to='lab_us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesIssued' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Issued</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesIssued' xlink:to='lab_us-gaap_CommonStockSharesIssued'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock' xlink:label='us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalCommonStock' 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_AdditionalPaidInCapitalCommonStock' xlink:to='lab_us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued expenses (note 2)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Accrued expenses (note 2)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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 STOCKHOLDERS&apos; EQUITY</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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'>Prepaid expenses and other current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAssetsCurrent' xlink:to='lab_us-gaap_OtherAssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntitySmallBusiness' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Small Business</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntitySmallBusiness' xlink:to='lab_dei_EntitySmallBusiness'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentType' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Type</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentType' xlink:to='lab_dei_DocumentType'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Details</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TextBlockAbstract' xlink:to='lab_us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:label='fil_LesseeOperatingLeaseForParkingLotTermOfContract'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee Operating Lease for Parking Lot Term of Contract</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Lessee Operating Lease for Parking Lot Term of Contract, 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_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:to='lab_fil_LesseeOperatingLeaseForParkingLotTermOfContract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' xlink:label='fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Tax Cuts and Jobs Act of 2017 Global Intangible Low Taxed Income Income Tax Expense</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Tax Cuts and Jobs Act of 2017 Global Intangible Low Taxed Income Income Tax Expense, 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_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' xlink:to='lab_fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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:label xlink:type='resource' xlink:label='lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' 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/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock' xlink:label='us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Finite-Lived Intangible 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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>New Accounting Pronouncements, Policy</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:to='lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GeographicLongLivedAssetsInformationTextBlock' xlink:label='fil_GeographicLongLivedAssetsInformationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_GeographicLongLivedAssetsInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 10 - Geographic Long-Lived Assets Information</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_GeographicLongLivedAssetsInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Note 10 - Geographic Long-Lived Assets Information, 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_GeographicLongLivedAssetsInformationTextBlock' xlink:to='lab_fil_GeographicLongLivedAssetsInformationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock' xlink:label='us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 7 - Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxDisclosureTextBlock' xlink:to='lab_us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:label='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Prepaid expenses and other current assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Prepaid expenses and 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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:to='lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Additional Paid-In Capitol</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalPaidInCapitalMember' xlink:to='lab_us-gaap_AdditionalPaidInCapitalMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense' xlink:label='us-gaap_GeneralAndAdministrativeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GeneralAndAdministrativeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>General and administrative</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GeneralAndAdministrativeExpense' xlink:to='lab_us-gaap_GeneralAndAdministrativeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ResearchAndDevelopmentExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Research and development</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ResearchAndDevelopmentExpense' xlink:to='lab_us-gaap_ResearchAndDevelopmentExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total stockholders&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 stockholders&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_StockholdersEquity' xlink:to='lab_us-gaap_StockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorFirmId' xlink:label='dei_AuditorFirmId'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorFirmId' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Firm ID</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorFirmId' xlink:to='lab_dei_AuditorFirmId'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_IcfrAuditorAttestationFlag' xlink:label='dei_IcfrAuditorAttestationFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_IcfrAuditorAttestationFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>ICFR Auditor Attestation Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_IcfrAuditorAttestationFlag' xlink:to='lab_dei_IcfrAuditorAttestationFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_SecurityExchangeName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Security Exchange Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_SecurityExchangeName' xlink:to='lab_dei_SecurityExchangeName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityIncorporationStateCountryCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Incorporation, State or Country Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityIncorporationStateCountryCode' xlink:to='lab_dei_EntityIncorporationStateCountryCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityExTransitionPeriod' xlink:label='dei_EntityExTransitionPeriod'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityExTransitionPeriod' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Ex Transition Period</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityExTransitionPeriod' xlink:to='lab_dei_EntityExTransitionPeriod'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFilerCategory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Filer Category</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFilerCategory' xlink:to='lab_dei_EntityFilerCategory'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:label='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Remaining years of exclusive U.S. distribution rights for Femcare&apos;s Filshie Clip System</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Remaining years of exclusive U.S. distribution rights for Femcare&apos;s Filshie Clip System, 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_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:to='lab_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_Range3Member' xlink:label='fil_Range3Member'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range3Member' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Range 3</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range3Member' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Range 3, 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_Range3Member' xlink:to='lab_fil_Range3Member'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, Other Adjustments, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:to='lab_us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:label='us-gaap_IncomeTaxReconciliationTaxCreditsResearch'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:to='lab_us-gaap_IncomeTaxReconciliationTaxCreditsResearch'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss' xlink:label='us-gaap_GoodwillForeignCurrencyTranslationGainLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effect of foreign exchange</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GoodwillForeignCurrencyTranslationGainLoss' xlink:to='lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_DistributionRightsAcquisitionAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Distribution Rights Acquisition [Axis]</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DistributionRightsAcquisitionAxis' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the description of Distribution Rights Acquisition, 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_DistributionRightsAcquisitionAxis' xlink:to='lab_fil_DistributionRightsAcquisitionAxis'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:label='fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule Of Global Revenues By Product Category</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Schedule Of Global Revenues By Product Category, 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_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:to='lab_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesPolicyTextBlock' xlink:label='us-gaap_ReceivablesPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ReceivablesPolicyTextBlock' 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_ReceivablesPolicyTextBlock' xlink:to='lab_us-gaap_ReceivablesPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock' xlink:label='us-gaap_ConsolidationPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConsolidationPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Principles of Consolidation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConsolidationPolicyTextBlock' xlink:to='lab_us-gaap_ConsolidationPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GeographicInformationTextBlock' xlink:label='fil_GeographicInformationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_GeographicInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 9 - Geographic Information</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_GeographicInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Note 9 - Geographic Information, 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_GeographicInformationTextBlock' xlink:to='lab_fil_GeographicInformationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net cash (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 (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/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock purchased and retired, 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_StockRepurchasedAndRetiredDuringPeriodShares' xlink:to='lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for income taxes (note 7)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Provision for income taxes (note 7)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold' xlink:label='us-gaap_CostOfGoodsAndServicesSold'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CostOfGoodsAndServicesSold' 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_CostOfGoodsAndServicesSold' xlink:to='lab_us-gaap_CostOfGoodsAndServicesSold'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred income taxes (note 7)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:to='lab_us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList' xlink:label='us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Liability, Current, Statement of Financial Position</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList' xlink:to='lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityInteractiveDataCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Interactive Data Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityInteractiveDataCurrent' xlink:to='lab_dei_EntityInteractiveDataCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' xlink:label='us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Weighted Average Discount Rate, Percent</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' xlink:to='lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost' xlink:label='us-gaap_OperatingLeaseCost'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseCost' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, 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_OperatingLeaseCost' xlink:to='lab_us-gaap_OperatingLeaseCost'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CompanySalesOther' xlink:label='fil_CompanySalesOther'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesOther' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Company Sales Other</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesOther' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Company Sales Other, 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_CompanySalesOther' xlink:to='lab_fil_CompanySalesOther'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ScenarioUnspecifiedDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Scenario</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='lab_srt_ScenarioUnspecifiedDomain'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareTotalExercisable' xlink:label='fil_PriceRangePerShareTotalExercisable'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareTotalExercisable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Price Range Per Share Total Exercisable</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareTotalExercisable' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the description of Price Range Per Share Total Exercisable, 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_PriceRangePerShareTotalExercisable' xlink:to='lab_fil_PriceRangePerShareTotalExercisable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Accumulated Depreciation, Depletion and Amortization, 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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:to='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss' xlink:label='us-gaap_GoodwillImpairmentLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GoodwillImpairmentLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Subtractions as a result of impairment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GoodwillImpairmentLoss' xlink:to='lab_us-gaap_GoodwillImpairmentLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent' xlink:label='us-gaap_AccountsReceivableGrossCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsReceivableGrossCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable, before 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_AccountsReceivableGrossCurrent' xlink:to='lab_us-gaap_AccountsReceivableGrossCurrent'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:label='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Reconciliation of operating lease liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Reconciliation of operating lease liabilities/ payments to operating lease liabilities.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:to='lab_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' xlink:label='us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Income before Income Tax, Domestic and Foreign</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' xlink:label='us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived 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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' xlink:to='lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 17 - Recent Accounting Pronouncements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' xlink:to='lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtTextBlock' xlink:label='us-gaap_LongTermDebtTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LongTermDebtTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 5 - Long-term Debt</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LongTermDebtTextBlock' xlink:to='lab_us-gaap_LongTermDebtTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:label='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 2 - Detail of Certain Balance Sheet Accounts</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:to='lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireIntangibleAssets' xlink:label='us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireIntangibleAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Intangible assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireIntangibleAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Intangible 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_PaymentsToAcquireIntangibleAssets' xlink:to='lab_us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net cash provided by 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 provided by operating activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred income taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS&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_StatementOfStockholdersEquityAbstract' xlink:to='lab_us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherInterestAndDividendIncome' xlink:label='us-gaap_OtherInterestAndDividendIncome'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherInterestAndDividendIncome' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividend and 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_OtherInterestAndDividendIncome' xlink:to='lab_us-gaap_OtherInterestAndDividendIncome'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Cash</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:to='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_Security12bTitle' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Title of 12(b) Security</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_Security12bTitle' xlink:to='lab_dei_Security12bTitle'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_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.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityEmergingGrowthCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Emerging Growth Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityEmergingGrowthCompany' xlink:to='lab_dei_EntityEmergingGrowthCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_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.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_Range2Member' xlink:label='fil_Range2Member'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range2Member' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Range 2</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range2Member' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Range 2, 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_Range2Member' xlink:to='lab_fil_Range2Member'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition, 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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities' xlink:label='us-gaap_DeferredTaxLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Liabilities, Net</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilities' xlink:role='http://www.xbrl.org/2009/role/negatedTotalLabel' xml:lang='en-US'>Deferred Tax Liabilities, 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_DeferredTaxLiabilities' xlink:to='lab_us-gaap_DeferredTaxLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee-related Liabilities, 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_EmployeeRelatedLiabilitiesCurrent' xlink:to='lab_us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedNoncompeteAgreementsGross' xlink:label='us-gaap_FiniteLivedNoncompeteAgreementsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedNoncompeteAgreementsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Noncompete Agreements, 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_FiniteLivedNoncompeteAgreementsGross' xlink:to='lab_us-gaap_FiniteLivedNoncompeteAgreementsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Assets Acquired</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:to='lab_us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Lived Tangible Asset</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Deferred Tax Assets and Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 4 - Property and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_QuarterlyFinancialInformationTextBlock' xlink:label='us-gaap_QuarterlyFinancialInformationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_QuarterlyFinancialInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 3 - Quarterly Results 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_QuarterlyFinancialInformationTextBlock' xlink:to='lab_us-gaap_QuarterlyFinancialInformationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property and equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Property and equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:to='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation' xlink:label='us-gaap_ShareBasedCompensation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stock-based compensation expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensation' xlink:to='lab_us-gaap_ShareBasedCompensation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockOptionPlanExpense' xlink:label='us-gaap_StockOptionPlanExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockOptionPlanExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stock option compensation expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockOptionPlanExpense' xlink:to='lab_us-gaap_StockOptionPlanExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding' xlink:label='us-gaap_SharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Balance, shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Equity Balance, shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Equity Balance, 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_SharesOutstanding' xlink:to='lab_us-gaap_SharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' xlink:to='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax' xlink:label='us-gaap_ComprehensiveIncomeNetOfTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ComprehensiveIncomeNetOfTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total comprehensive income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ComprehensiveIncomeNetOfTax' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total comprehensive 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_ComprehensiveIncomeNetOfTax' xlink:to='lab_us-gaap_ComprehensiveIncomeNetOfTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense' xlink:label='us-gaap_SellingAndMarketingExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SellingAndMarketingExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Sales and marketing</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SellingAndMarketingExpense' xlink:to='lab_us-gaap_SellingAndMarketingExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityWellKnownSeasonedIssuer' xlink:label='dei_EntityWellKnownSeasonedIssuer'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityWellKnownSeasonedIssuer' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Well-Known Seasoned Issuer</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityWellKnownSeasonedIssuer' xlink:to='lab_dei_EntityWellKnownSeasonedIssuer'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' xlink:label='us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Weighted Average Remaining Lease Term</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' xlink:to='lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ObstetricsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Obstetrics</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ObstetricsMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Obstetrics, 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_ObstetricsMember' xlink:to='lab_fil_ObstetricsMember'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LongLivedAssetsInCanada' xlink:label='fil_LongLivedAssetsInCanada'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInCanada' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in Canada</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInCanada' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in Canada, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInCanada' xlink:to='lab_fil_LongLivedAssetsInCanada'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:to='lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:label='us-gaap_CurrentIncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current Income Tax Expense (Benefit)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_CurrentIncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedTrademarksGross' xlink:label='us-gaap_FiniteLivedTrademarksGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedTrademarksGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Trademarks, 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_FiniteLivedTrademarksGross' xlink:to='lab_us-gaap_FiniteLivedTrademarksGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Diluted shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Weighted Average Number of Shares Outstanding, 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='utmd-20221231.xsd#fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Foreign Currency Exchange Rate Translation GBP to USD</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the pure numeric value of Foreign Currency Exchange Rate Translation GBP to USD, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:to='lab_fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CoopersurgicalIncMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>CooperSurgical Inc</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CoopersurgicalIncMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the CooperSurgical Inc, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_CoopersurgicalIncMember' xlink:to='lab_fil_CoopersurgicalIncMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' xlink:to='lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Accrued Expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock' xlink:label='us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerSharePolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Earnings Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerSharePolicyTextBlock' xlink:to='lab_us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LegalCostsPolicyTextBlock' xlink:label='us-gaap_LegalCostsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LegalCostsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Legal Costs</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LegalCostsPolicyTextBlock' xlink:to='lab_us-gaap_LegalCostsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxPolicyTextBlock' xlink:to='lab_us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock' xlink:label='us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Intangible 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_GoodwillAndIntangibleAssetsPolicyTextBlock' xlink:to='lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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'>Concentration of Credit Risk</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:to='lab_us-gaap_ConcentrationRiskDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherReceivables' xlink:label='us-gaap_IncreaseDecreaseInOtherReceivables'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherReceivables' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other receivables</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherReceivables' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Other receivables</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOtherReceivables' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherReceivables'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GainLossOnDispositionOfAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Loss/(Gain) on disposal of assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GainLossOnDispositionOfAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Loss/(Gain) on disposal of 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_GainLossOnDispositionOfAssets' xlink:to='lab_us-gaap_GainLossOnDispositionOfAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts' xlink:label='us-gaap_ProvisionForDoubtfulAccounts'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProvisionForDoubtfulAccounts' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for losses on 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_ProvisionForDoubtfulAccounts' xlink:to='lab_us-gaap_ProvisionForDoubtfulAccounts'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockMember' xlink:to='lab_us-gaap_CommonStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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 income</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 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_OperatingIncomeLoss' xlink:to='lab_us-gaap_OperatingIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies' xlink:label='us-gaap_CommitmentsAndContingencies'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingencies' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Commitments and contingencies (notes 6 and 12)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommitmentsAndContingencies' xlink:to='lab_us-gaap_CommitmentsAndContingencies'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Liabilities' xlink:to='lab_us-gaap_Liabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressAddressLine1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Address Line One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressAddressLine1' xlink:to='lab_dei_EntityAddressAddressLine1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_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='utmd-20221231.xsd#fil_OusMember' xlink:label='fil_OusMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_OusMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>OUS</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_OusMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the OUS, 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_OusMember' xlink:to='lab_fil_OusMember'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CompanySalesInEurope' xlink:label='fil_CompanySalesInEurope'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesInEurope' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Company Sales in Europe</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesInEurope' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Company Sales in Europe, 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_CompanySalesInEurope' xlink:to='lab_fil_CompanySalesInEurope'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:label='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Regulatory approvals &amp; product certifications</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Regulatory approvals &amp; product certifications, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:to='lab_fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:label='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:to='lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:label='fil_ScheduleofousrevenuesbyproductcategoryTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule Of OUS Revenues By Product Category</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Schedule Of OUS Revenues By Product Category, 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_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:to='lab_fil_ScheduleofousrevenuesbyproductcategoryTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ScheduleOfGeographicInformationTextBlock' xlink:label='fil_ScheduleOfGeographicInformationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleOfGeographicInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule Of Geographic Information</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleOfGeographicInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Schedule Of Geographic Information, 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_ScheduleOfGeographicInformationTextBlock' xlink:to='lab_fil_ScheduleOfGeographicInformationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:label='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Components of Income Tax Expense (Benefit)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock' xlink:label='us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Accounts and Other Receivables</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock' xlink:to='lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' xlink:label='us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Translation of Foreign Currencies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' xlink:to='lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 6 - Commitments and Contingencies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:to='lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock received and retired upon exercise of stock options</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Common stock received and retired upon exercise of stock options, 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_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:to='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EquityComponentDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Component</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EquityComponentDomain' xlink:to='lab_us-gaap_EquityComponentDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted' xlink:label='us-gaap_EarningsPerShareDiluted'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareDiluted' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Earnings per common share (diluted) (note 1)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareDiluted' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Earnings Per Share 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_EarningsPerShareDiluted' xlink:to='lab_us-gaap_EarningsPerShareDiluted'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:label='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred tax liability - intangible 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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:to='lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other intangible assets (note 2)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsGross' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Other intangible assets (note 2)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='lab_us-gaap_AssetsCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability' xlink:label='us-gaap_OperatingLeaseLiability'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseLiability' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Liability</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseLiability' xlink:to='lab_us-gaap_OperatingLeaseLiability'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:label='fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI, 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_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:to='lab_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:label='fil_LesseeOperatingLeaseForAutomobileTermOfContract'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee Operating Lease for Automobile Term of Contract</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Lessee Operating Lease for Automobile Term of Contract, 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_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:to='lab_fil_LesseeOperatingLeaseForAutomobileTermOfContract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductOrServiceAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductOrServiceAxis' xlink:to='lab_srt_ProductOrServiceAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:to='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareGranted' xlink:label='fil_PriceRangePerShareGranted'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareGranted' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Price Range Per Share Granted</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareGranted' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the description of Price Range Per Share Granted, 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_PriceRangePerShareGranted' xlink:to='lab_fil_PriceRangePerShareGranted'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:label='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:to='lab_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:to='lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_MachineryAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Machinery and Equipment, 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_MachineryAndEquipmentGross' xlink:to='lab_us-gaap_MachineryAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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_OtherAccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Assets, Net</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsNet' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Finite-Lived Intangible Assets, 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_FiniteLivedIntangibleAssetsNet' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryRawMaterials' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory, Raw Materials, 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_InventoryRawMaterials' xlink:to='lab_us-gaap_InventoryRawMaterials'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Foreign Currency Exchange Rate Translation AUD to USD</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the pure numeric value of Foreign Currency Exchange Rate Translation AUD to USD, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:to='lab_fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Lived Tangible Asset [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Inventory, 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_ScheduleOfInventoryCurrentTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaid' xlink:label='us-gaap_InterestPaid'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestPaid' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash paid during the period for interest</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestPaid' xlink:to='lab_us-gaap_InterestPaid'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash flows from financing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeMember' xlink:label='us-gaap_ComprehensiveIncomeMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ComprehensiveIncomeMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Comprehensive 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_ComprehensiveIncomeMember' xlink:to='lab_us-gaap_ComprehensiveIncomeMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RoyaltyIncomeNonoperating' xlink:label='us-gaap_RoyaltyIncomeNonoperating'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RoyaltyIncomeNonoperating' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Royalty income (note 12)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RoyaltyIncomeNonoperating' xlink:to='lab_us-gaap_RoyaltyIncomeNonoperating'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare' xlink:label='us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockParOrStatedValuePerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Par or Stated Value Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockParOrStatedValuePerShare' xlink:to='lab_us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill' xlink:label='us-gaap_Goodwill'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Goodwill' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Goodwill</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Goodwill' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Balance as of January 1</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Goodwill' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Total Goodwill as of December 31</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Goodwill' xlink:to='lab_us-gaap_Goodwill'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentAnnualReport' xlink:label='dei_DocumentAnnualReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentAnnualReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Annual Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentAnnualReport' xlink:to='lab_dei_DocumentAnnualReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Common Stock, Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCommonStockSharesOutstanding' xlink:to='lab_dei_EntityCommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentPeriodEndDate' xlink:label='dei_DocumentPeriodEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentPeriodEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Period End Date</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentPeriodEndDate' xlink:to='lab_dei_DocumentPeriodEndDate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent' xlink:label='us-gaap_OperatingLeaseLiabilityCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseLiabilityCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Liability, 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_OperatingLeaseLiabilityCurrent' xlink:to='lab_us-gaap_OperatingLeaseLiabilityCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years Period For Recognition</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years Period For Recognition, 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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Land' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Land</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Land' xlink:to='lab_us-gaap_Land'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationReserveCurrent' xlink:label='us-gaap_LitigationReserveCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LitigationReserveCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Estimated Litigation Liability, 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_LitigationReserveCurrent' xlink:to='lab_us-gaap_LitigationReserveCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_OtherFiniteLivedIntangibleAssetsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherFiniteLivedIntangibleAssetsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Finite-Lived Intangible Assets, 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_OtherFiniteLivedIntangibleAssetsGross' xlink:to='lab_us-gaap_OtherFiniteLivedIntangibleAssetsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts and Other Receivables, Net, Current</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Accounts and Other Receivables, Net, 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_AccountsAndOtherReceivablesNetCurrent' xlink:to='lab_us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Useful Life</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeAxis' xlink:to='lab_srt_RangeAxis'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PropertyPlantAndEquipmentByLocationTextBlock' xlink:label='fil_PropertyPlantAndEquipmentByLocationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_PropertyPlantAndEquipmentByLocationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property Plant and Equipment by Location</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_PropertyPlantAndEquipmentByLocationTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Property Plant and Equipment by 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_PropertyPlantAndEquipmentByLocationTextBlock' xlink:to='lab_fil_PropertyPlantAndEquipmentByLocationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' xlink:label='us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Weighted Average Number of 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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock' xlink:label='us-gaap_InventoryPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories {1}</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/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock' xlink:label='us-gaap_IntangibleAssetsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IntangibleAssetsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 15 - CSI Distribution Agreement Purchase Disclosure</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IntangibleAssetsDisclosureTextBlock' xlink:to='lab_us-gaap_IntangibleAssetsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net increase in cash and cash equivalents</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net increase 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash flows from investing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' 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/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Depreciation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Depreciation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Depreciation' xlink:to='lab_us-gaap_Depreciation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:label='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Balance, value</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Equity Balance, value</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Equity Balance, value</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:to='lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained Earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsMember' xlink:to='lab_us-gaap_RetainedEarningsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income before provision for income taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Income before provision 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesOutstanding' xlink:to='lab_us-gaap_CommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsAccumulatedDeficit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsAccumulatedDeficit' xlink:to='lab_us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_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/2022q4/dei-2022q4.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityTaxIdentificationNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Tax Identification Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityTaxIdentificationNumber' xlink:to='lab_dei_EntityTaxIdentificationNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis' xlink:label='srt_StatementScenarioAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_StatementScenarioAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Scenario [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_StatementScenarioAxis' xlink:to='lab_srt_StatementScenarioAxis'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareExpired' xlink:label='fil_PriceRangePerShareExpired'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareExpired' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Price Range Per Share Expired</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareExpired' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the description of Price Range Per Share Expired, 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_PriceRangePerShareExpired' xlink:to='lab_fil_PriceRangePerShareExpired'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedCustomerRelationshipsGross' xlink:label='us-gaap_FiniteLivedCustomerRelationshipsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedCustomerRelationshipsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Customer Relationships, 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_FiniteLivedCustomerRelationshipsGross' xlink:to='lab_us-gaap_FiniteLivedCustomerRelationshipsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:label='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Weighted Average Number of Shares Outstanding, Diluted, Adjustment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Dilutive effect of stock options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:to='lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Weighted Average Number of Shares Outstanding, Basic</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Weighted average shares, 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/srt/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeMember' xlink:to='lab_srt_RangeMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember' xlink:label='us-gaap_BuildingAndBuildingImprovementsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingAndBuildingImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Building and Building Improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BuildingAndBuildingImprovementsMember' xlink:to='lab_us-gaap_BuildingAndBuildingImprovementsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:label='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Effective Income Tax Rate Reconciliation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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'>Note 1 - Summary of Significant Accounting Policies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SignificantAccountingPoliciesTextBlock' xlink:to='lab_us-gaap_SignificantAccountingPoliciesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisclosureTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Notes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='lab_us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:label='us-gaap_DeferredTaxExpenseFromStockOptionsExercised'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Tax benefit attributable to exercise of stock options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:to='lab_us-gaap_DeferredTaxExpenseFromStockOptionsExercised'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Foreign currency translation adjustment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Foreign currency translation net of taxes of $0 in all periods</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:to='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>ASSETS</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsAbstract' xlink:to='lab_us-gaap_AssetsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorName' xlink:label='dei_AuditorName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorName' xlink:to='lab_dei_AuditorName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_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='utmd-20221231.xsd#fil_LongLivedAssetsInEngland' xlink:label='fil_LongLivedAssetsInEngland'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInEngland' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in England</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInEngland' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in England, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInEngland' xlink:to='lab_fil_LongLivedAssetsInEngland'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:to='lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:to='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareOutstanding' xlink:label='fil_PriceRangePerShareOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Price Range Per Share Outstanding</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_PriceRangePerShareOutstanding' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the description of Price Range Per Share Outstanding, 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_PriceRangePerShareOutstanding' xlink:to='lab_fil_PriceRangePerShareOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Number of 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IE' xlink:label='country_IE'/>
		<link:label xlink:type='resource' xlink:label='lab_country_IE' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>IRELAND</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='country_IE' xlink:to='lab_country_IE'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_U.S.AndCanadaMember' xlink:label='fil_U.S.AndCanadaMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_U.S.AndCanadaMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>U.S. and Canada</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_U.S.AndCanadaMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the U.S. and Canada, 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_U.S.AndCanadaMember' xlink:to='lab_fil_U.S.AndCanadaMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.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.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingsAndImprovementsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Buildings and Improvements, 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_BuildingsAndImprovementsGross' xlink:to='lab_us-gaap_BuildingsAndImprovementsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryWorkInProcess' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory, Work in Process, 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_InventoryWorkInProcess' xlink:to='lab_us-gaap_InventoryWorkInProcess'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense' xlink:label='us-gaap_AllocatedShareBasedCompensationExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AllocatedShareBasedCompensationExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AllocatedShareBasedCompensationExpense' xlink:to='lab_us-gaap_AllocatedShareBasedCompensationExpense'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_DistributionRightsAcquisitionDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Distribution Rights Acquisition</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DistributionRightsAcquisitionDomain' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Distribution Rights Acquisition, 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_DistributionRightsAcquisitionDomain' xlink:to='lab_fil_DistributionRightsAcquisitionDomain'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:label='fil_PresentationOfSalesAndSimilarTaxesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Presentation of Sales and Similar Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Presentation of Sales and Similar Taxes, 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_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:to='lab_fil_PresentationOfSalesAndSimilarTaxesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets' xlink:label='us-gaap_AmortizationOfIntangibleAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AmortizationOfIntangibleAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amortization {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AmortizationOfIntangibleAssets' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Amortization</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AmortizationOfIntangibleAssets' xlink:to='lab_us-gaap_AmortizationOfIntangibleAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementTable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementTable' xlink:to='lab_us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic' xlink:label='us-gaap_EarningsPerShareBasic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareBasic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Earnings per common share (basic) (note 1)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareBasic' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Earnings per share, 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_EarningsPerShareBasic' xlink:to='lab_us-gaap_EarningsPerShareBasic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total liabilities and stockholders&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 stockholders&apos; equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories (note 2)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryNet' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Inventories (note 2)</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/2022q4/dei-2022q4.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentTransitionReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Transition Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentTransitionReport' xlink:to='lab_dei_DocumentTransitionReport'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GlobalMember' xlink:label='fil_GlobalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_GlobalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Global</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_GlobalMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Global, 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_GlobalMember' xlink:to='lab_fil_GlobalMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation Tax Cuts And Jobs Act Of 2017 Transition Tax On Accumulated Foreign Earnings Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' xlink:to='lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:to='lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_StatementGeographicalAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Geographical [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_StatementGeographicalAxis' xlink:to='lab_srt_StatementGeographicalAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestReceivableAndOtherAssets' xlink:label='us-gaap_InterestReceivableAndOtherAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestReceivableAndOtherAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Interest Receivable and 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_InterestReceivableAndOtherAssets' xlink:to='lab_us-gaap_InterestReceivableAndOtherAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MaximumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Maximum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MaximumMember' xlink:to='lab_srt_MaximumMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquipmentMember' xlink:label='us-gaap_EquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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_EquipmentMember' xlink:to='lab_us-gaap_EquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Share-based Compensation, Stock Options, Activity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PolicyTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Policies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='lab_us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net cash (used in) financing activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net cash (used in) financing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='lab_us-gaap_LiabilitiesCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_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.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFileNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity File Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFileNumber' xlink:to='lab_dei_EntityFileNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CurrentFiscalYearEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current Fiscal Year 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_CurrentFiscalYearEndDate' xlink:to='lab_dei_CurrentFiscalYearEndDate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:label='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Defined Contribution Plan, Employer Discretionary Contribution Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:to='lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:to='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EnglandAndAustraliaMember' xlink:label='fil_EnglandAndAustraliaMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EnglandAndAustraliaMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>England and Australia</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EnglandAndAustraliaMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the England and Australia, 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_EnglandAndAustraliaMember' xlink:to='lab_fil_EnglandAndAustraliaMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset' xlink:label='us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseRightOfUseAsset' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Right-of-Use Asset</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseRightOfUseAsset' xlink:to='lab_us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationReserve' xlink:label='us-gaap_LitigationReserve'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LitigationReserve' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Estimated Litigation Liability</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LitigationReserve' xlink:to='lab_us-gaap_LitigationReserve'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock' xlink:label='us-gaap_ScheduleOfGoodwillTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfGoodwillTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Goodwill</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfGoodwillTextBlock' xlink:to='lab_us-gaap_ScheduleOfGoodwillTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates' xlink:label='us-gaap_UseOfEstimates'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UseOfEstimates' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Use of Estimates in The Preparation of Financial Statements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UseOfEstimates' xlink:to='lab_us-gaap_UseOfEstimates'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock' xlink:label='us-gaap_EarningsPerShareTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 16 - Earnings 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_EarningsPerShareTextBlock' xlink:to='lab_us-gaap_EarningsPerShareTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividends' xlink:label='us-gaap_PaymentsOfDividends'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividends' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends paid</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividends' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>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_PaymentsOfDividends' xlink:to='lab_us-gaap_PaymentsOfDividends'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementEquityComponentsAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Components [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='lab_us-gaap_StatementEquityComponentsAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract' xlink:label='us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other comprehensive 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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract' xlink:to='lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityPublicFloat' xlink:label='dei_EntityPublicFloat'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityPublicFloat' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Public Float</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityPublicFloat' xlink:to='lab_dei_EntityPublicFloat'/>
	</link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>utmd-20221231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. 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.utahmed.com/20221231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCentralIndexKey' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentType' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_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='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CurrentFiscalYearEndDate' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_TradingSymbol' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityTaxIdentificationNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCommonStockSharesOutstanding' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityPublicFloat' xlink:label='dei_EntityPublicFloat'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityPublicFloat' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFilerCategory' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCurrentReportingStatus' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityVoluntaryFilers' xlink:label='dei_EntityVoluntaryFilers'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityVoluntaryFilers' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityWellKnownSeasonedIssuer' xlink:label='dei_EntityWellKnownSeasonedIssuer'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityWellKnownSeasonedIssuer' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityShellCompany' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntitySmallBusiness' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityEmergingGrowthCompany' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityExTransitionPeriod' xlink:label='dei_EntityExTransitionPeriod'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityExTransitionPeriod' use='optional' order='17.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AmendmentDescription' xlink:label='dei_AmendmentDescription'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AmendmentDescription' use='optional' order='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentAnnualReport' xlink:label='dei_DocumentAnnualReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentAnnualReport' use='optional' order='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentTransitionReport' use='optional' order='20.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFileNumber' use='optional' order='21.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityIncorporationStateCountryCode' use='optional' order='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressAddressLine1' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressCityOrTown' use='optional' order='24.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressStateOrProvince' use='optional' order='25.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressPostalZipCode' use='optional' order='26.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CityAreaCode' use='optional' order='27.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_LocalPhoneNumber' use='optional' order='28.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_Security12bTitle' use='optional' order='29.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_SecurityExchangeName' use='optional' order='30.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityInteractiveDataCurrent' use='optional' order='31.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_IcfrAuditorAttestationFlag' xlink:label='dei_IcfrAuditorAttestationFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_IcfrAuditorAttestationFlag' use='optional' order='32.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentFinStmtErrorCorrectionFlag' xlink:label='dei_DocumentFinStmtErrorCorrectionFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFinStmtErrorCorrectionFlag' use='optional' order='33.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentsIncorporatedByReferenceTextBlock' xlink:label='dei_DocumentsIncorporatedByReferenceTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentsIncorporatedByReferenceTextBlock' use='optional' order='34.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AmendmentFlag' use='optional' order='35.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalYearFocus' use='optional' order='36.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalPeriodFocus' use='optional' order='37.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorName' xlink:label='dei_AuditorName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorName' use='optional' order='38.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorLocation' xlink:label='dei_AuditorLocation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorLocation' use='optional' order='39.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd#dei_AuditorFirmId' xlink:label='dei_AuditorFirmId'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorFirmId' use='optional' order='40.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AssetsAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AssetsCurrentAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OtherAssetsCurrent' xlink:to='us-gaap_AssetsCurrent' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill' xlink:label='us-gaap_Goodwill'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_Goodwill' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList' xlink:label='us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:label='us-gaap_IntangibleAssetsNetExcludingGoodwill'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:to='us-gaap_IntangibleAssetsNetExcludingGoodwill' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_Assets' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesCurrentAbstract' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList' xlink:label='us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='12.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:label='us-gaap_OperatingLeaseLiabilityNoncurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_OperatingLeaseLiabilityNoncurrent' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' xlink:label='us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:label='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_DeferredIncomeTaxLiabilitiesNet' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_Liabilities' use='optional' order='17.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies' xlink:label='us-gaap_CommitmentsAndContingencies'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommitmentsAndContingencies' use='optional' order='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_StockholdersEquityAbstract' use='optional' order='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue' xlink:label='us-gaap_CommonStockValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockValue' use='optional' order='20.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:label='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' use='optional' order='21.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock' xlink:label='us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AdditionalPaidInCapitalCommonStock' use='optional' order='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_StockholdersEquity' use='optional' order='24.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquity' use='optional' order='25.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesAuthorized' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesIssued' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_IncomeStatementAbstract' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold' xlink:label='us-gaap_CostOfGoodsAndServicesSold'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_CostOfGoodsAndServicesSold' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_GrossProfit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense' xlink:label='us-gaap_SellingAndMarketingExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_SellingAndMarketingExpense' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_ResearchAndDevelopmentExpense' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense' xlink:label='us-gaap_GeneralAndAdministrativeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_GeneralAndAdministrativeExpense' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherInterestAndDividendIncome' xlink:label='us-gaap_OtherInterestAndDividendIncome'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherInterestAndDividendIncome' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RoyaltyIncomeNonoperating' xlink:label='us-gaap_RoyaltyIncomeNonoperating'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_RoyaltyIncomeNonoperating' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='11.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_ProfitLoss' use='optional' order='13.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic' xlink:label='us-gaap_EarningsPerShareBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_EarningsPerShareBasic' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted' xlink:label='us-gaap_EarningsPerShareDiluted'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_EarningsPerShareDiluted' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract' xlink:label='us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' use='optional' order='17.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax' xlink:label='us-gaap_ComprehensiveIncomeNetOfTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_ComprehensiveIncomeNetOfTax' use='optional' order='18.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeMember' xlink:label='us-gaap_ComprehensiveIncomeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_ComprehensiveIncomeMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link: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='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:label='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding' xlink:label='us-gaap_SharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharesOutstanding' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockOptionPlanExpense' xlink:label='us-gaap_StockOptionPlanExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockOptionPlanExpense' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DividendsCommonStockCash' xlink:label='us-gaap_DividendsCommonStockCash'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_DividendsCommonStockCash' use='optional' order='11.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ProfitLoss' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:label='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_1' use='optional' order='13.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding' xlink:label='us-gaap_SharesOutstanding_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_SharesOutstanding_1' use='optional' order='14.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_ProfitLoss' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfCashFlowsAbstract' xlink:to='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_Depreciation' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets' xlink:label='us-gaap_AmortizationOfIntangibleAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_AmortizationOfIntangibleAssets' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts' xlink:label='us-gaap_ProvisionForDoubtfulAccounts'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_ProvisionForDoubtfulAccounts' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:label='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnDispositionOfAssets' xlink:label='us-gaap_GainLossOnDispositionOfAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_GainLossOnDispositionOfAssets' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfCashFlowsAbstract' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation' xlink:label='us-gaap_ShareBasedCompensation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_ShareBasedCompensation' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:label='us-gaap_DeferredTaxExpenseFromStockOptionsExercised'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_DeferredTaxExpenseFromStockOptionsExercised' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherReceivables' xlink:label='us-gaap_IncreaseDecreaseInOtherReceivables'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherReceivables' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='9.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:label='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' use='optional' order='10.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='11.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInAccruedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccruedLiabilities' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='13.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='15.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireIntangibleAssets' xlink:label='us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_PaymentsToAcquireIntangibleAssets' use='optional' order='16.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='17.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' use='optional' order='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_ProceedsFromIssuanceOfCommonStock' use='optional' order='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:label='us-gaap_PaymentsForRepurchaseOfCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_PaymentsForRepurchaseOfCommonStock' use='optional' order='20.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfDividends' xlink:label='us-gaap_PaymentsOfDividends'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_PaymentsOfDividends' use='optional' order='21.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='22.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' use='optional' order='24.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' use='optional' order='25.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1' use='optional' order='26.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaid' xlink:label='us-gaap_IncomeTaxesPaid'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncomeTaxesPaid' use='optional' order='27.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaid' xlink:label='us-gaap_InterestPaid'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_InterestPaid' use='optional' order='28.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:label='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_QuarterlyFinancialInformationTextBlock' xlink:label='us-gaap_QuarterlyFinancialInformationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_QuarterlyFinancialInformationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipment" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipment"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipment">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebt" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote5LongTermDebt"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebt">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtTextBlock' xlink:label='us-gaap_LongTermDebtTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_LongTermDebtTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingencies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote6CommitmentsAndContingencies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingencies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxes" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxes"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxes">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock' xlink:label='us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_IncomeTaxDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8Options" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8Options"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8Options">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' xlink:label='us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformation" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote9GeographicInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GeographicInformationTextBlock' xlink:label='fil_GeographicInformationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='fil_GeographicInformationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GeographicLongLivedAssetsInformationTextBlock' xlink:label='fil_GeographicLongLivedAssetsInformationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='fil_GeographicLongLivedAssetsInformationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegion"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_RevenuesbyproductcategoryandregionTextBlock' xlink:label='fil_RevenuesbyproductcategoryandregionTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='fil_RevenuesbyproductcategoryandregionTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitments"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:label='fil_ProductSaleAndPurchaseCommitmentsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='fil_ProductSaleAndPurchaseCommitmentsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlans" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote13EmployeeBenefitPlans"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlans">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' xlink:label='us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14Leases" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14Leases"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14Leases">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock' xlink:label='us-gaap_LesseeOperatingLeasesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeasesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock' xlink:label='us-gaap_IntangibleAssetsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_IntangibleAssetsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShare" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote16EarningsPerShare"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShare">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock' xlink:label='us-gaap_EarningsPerShareTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_EarningsPerShareTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncements" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote17RecentAccountingPronouncements"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncements">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote18SubsequentEvents" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote18SubsequentEvents"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote18SubsequentEvents">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock' xlink:label='us-gaap_SubsequentEventsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SubsequentEventsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates' xlink:label='us-gaap_UseOfEstimates'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_UseOfEstimates' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock' xlink:label='us-gaap_ConsolidationPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ConsolidationPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:label='us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_CashAndCashEquivalentsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_PolicyTextBlockAbstract' xlink:to='us-gaap_ConcentrationRiskDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesPolicyTextBlock' xlink:label='us-gaap_ReceivablesPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ReceivablesPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock' xlink:label='us-gaap_InventoryPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_InventoryPolicyTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' xlink:label='us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock' xlink:label='us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' xlink:label='us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRecognitionPolicyTextBlock' xlink:label='us-gaap_RevenueRecognitionPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_RevenueRecognitionPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_IncomeTaxPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LegalCostsPolicyTextBlock' xlink:label='us-gaap_LegalCostsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_LegalCostsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock' xlink:label='us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_EarningsPerSharePolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:label='fil_PresentationOfSalesAndSimilarTaxesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='fil_PresentationOfSalesAndSimilarTaxesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' xlink:label='us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' xlink:label='us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock' xlink:label='us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfInventoryCurrentTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock' xlink:label='us-gaap_ScheduleOfGoodwillTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfGoodwillTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock' xlink:label='us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' xlink:label='us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PropertyPlantAndEquipmentByLocationTextBlock' xlink:label='fil_PropertyPlantAndEquipmentByLocationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_PropertyPlantAndEquipmentByLocationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:label='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:label='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' xlink:label='us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ScheduleOfGeographicInformationTextBlock' xlink:label='fil_ScheduleOfGeographicInformationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ScheduleOfGeographicInformationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:label='fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:label='fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:label='fil_ScheduleofousrevenuesbyproductcategoryTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ScheduleofousrevenuesbyproductcategoryTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:label='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' xlink:label='us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_PropertyPlantAndEquipmentByTypeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember' xlink:label='us-gaap_BuildingAndBuildingImprovementsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_BuildingAndBuildingImprovementsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquipmentMember' xlink:label='us-gaap_EquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_EquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MinimumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MaximumMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentUsefulLife' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_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/2022/elts/srt-2022.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MinimumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MaximumMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='fil_DistributionRightsAcquisitionAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_CoopersurgicalIncMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:label='us-gaap_FiniteLivedIntangibleAssetUsefulLife'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetUsefulLife' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FinitelivedIntangibleAssetsAcquired1' use='optional' order='9.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense' xlink:label='us-gaap_AllocatedShareBasedCompensationExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AllocatedShareBasedCompensationExpense' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' xlink:label='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationReserve' xlink:label='us-gaap_LitigationReserve'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LitigationReserve' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:label='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent' xlink:label='us-gaap_AccountsReceivableGrossCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccountsReceivableGrossCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestReceivableAndOtherAssets' xlink:label='us-gaap_InterestReceivableAndOtherAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InterestReceivableAndOtherAssets' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_TextBlockAbstract' xlink:to='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccountsAndOtherReceivablesNetCurrent' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves' xlink:label='us-gaap_InventoryFinishedGoodsNetOfReserves'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryFinishedGoodsNetOfReserves' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryWorkInProcess' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill' xlink:label='us-gaap_Goodwill'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_Goodwill' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss' xlink:label='us-gaap_GoodwillForeignCurrencyTranslationGainLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_GoodwillForeignCurrencyTranslationGainLoss' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss' xlink:label='us-gaap_GoodwillImpairmentLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_GoodwillImpairmentLoss' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill' xlink:label='us-gaap_Goodwill_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_Goodwill_1' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedPatentsGross' xlink:label='us-gaap_FiniteLivedPatentsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedPatentsGross' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedNoncompeteAgreementsGross' xlink:label='us-gaap_FiniteLivedNoncompeteAgreementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedNoncompeteAgreementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedTrademarksGross' xlink:label='us-gaap_FiniteLivedTrademarksGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedTrademarksGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedCustomerRelationshipsGross' xlink:label='us-gaap_FiniteLivedCustomerRelationshipsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedCustomerRelationshipsGross' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_OtherFiniteLivedIntangibleAssetsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherFiniteLivedIntangibleAssetsGross' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset' xlink:label='us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseRightOfUseAsset' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList' xlink:label='us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:label='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' 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/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' use='optional' order='10.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsNet' use='optional' order='11.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedIncomeTaxesCurrent' xlink:label='us-gaap_AccruedIncomeTaxesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccruedIncomeTaxesCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_TextBlockAbstract' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LitigationReserveCurrent' xlink:label='us-gaap_LitigationReserveCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LitigationReserveCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherAccruedLiabilitiesCurrent' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_TextBlockAbstract' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_TextBlockAbstract' xlink:to='us-gaap_GrossProfit' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ProfitLoss' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted' xlink:label='us-gaap_EarningsPerShareDiluted'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EarningsPerShareDiluted' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_Land' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<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='utmd-20221231.xsd#fil_U.S.AndCanadaMember' xlink:label='fil_U.S.AndCanadaMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_U.S.AndCanadaMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EnglandAndAustraliaMember' xlink:label='fil_EnglandAndAustraliaMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_EnglandAndAustraliaMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IE' xlink:label='country_IE'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='country_IE' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Land' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_StatementLineItems' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebtDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote5LongTermDebtDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebtDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt' xlink:label='us-gaap_LongTermDebt'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LongTermDebt' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote6CommitmentsAndContingenciesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LitigationExpense' xlink:label='fil_LitigationExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LitigationExpense' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual' xlink:label='us-gaap_ProductWarrantyAccrual'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ProductWarrantyAccrual' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsInventory' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:label='fil_DeferredTaxLiabilitiesDepreciationAndAmortization'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_DeferredTaxLiabilitiesDepreciationAndAmortization' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilities' xlink:label='us-gaap_DeferredTaxLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxLiabilities' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedTotalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:label='us-gaap_CurrentIncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_CurrentIncomeTaxExpenseBenefit' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DeferredIncomeTaxExpense' xlink:label='fil_DeferredIncomeTaxExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_DeferredIncomeTaxExpense' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:label='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:label='us-gaap_IncomeTaxReconciliationTaxCreditsResearch'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationTaxCreditsResearch' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' xlink:label='us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' xlink:label='fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_AdjustmentToDeferredTaxLiability' xlink:label='fil_AdjustmentToDeferredTaxLiability'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_AdjustmentToDeferredTaxLiability' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationOtherAdjustments' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='9.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_TextBlockAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' xlink:label='us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense' xlink:label='us-gaap_AllocatedShareBasedCompensationExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AllocatedShareBasedCompensationExpense' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' xlink:label='us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' use='optional' order='12.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareGranted' xlink:label='fil_PriceRangePerShareGranted'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareGranted' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareExpired' xlink:label='fil_PriceRangePerShareExpired'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareExpired' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareExercised' xlink:label='fil_PriceRangePerShareExercised'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareExercised' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareOutstanding' xlink:label='fil_PriceRangePerShareOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareOutstanding' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_PriceRangePerShareTotalExercisable' xlink:label='fil_PriceRangePerShareTotalExercisable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_PriceRangePerShareTotalExercisable' use='optional' order='10.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' xlink:label='us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis' xlink:label='srt_StatementScenarioAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementScenarioAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='srt_ScenarioUnspecifiedDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_Range1Member' xlink:label='fil_Range1Member'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='fil_Range1Member' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_Range2Member' xlink:label='fil_Range2Member'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='fil_Range2Member' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_Range3Member' xlink:label='fil_Range3Member'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='fil_Range3Member' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_WeightedAverageRemainingContractualLifeYears' xlink:label='fil_WeightedAverageRemainingContractualLifeYears'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_WeightedAverageRemainingContractualLifeYears' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' use='optional' order='7.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CompanySalesInTheUnitedStates' xlink:label='fil_CompanySalesInTheUnitedStates'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_CompanySalesInTheUnitedStates' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CompanySalesInEurope' xlink:label='fil_CompanySalesInEurope'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_CompanySalesInEurope' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CompanySalesOther' xlink:label='fil_CompanySalesOther'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_CompanySalesOther' use='optional' order='3.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LongLivedAssetsInTheUnitedStates' xlink:label='fil_LongLivedAssetsInTheUnitedStates'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInTheUnitedStates' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LongLivedAssetsInEngland' xlink:label='fil_LongLivedAssetsInEngland'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInEngland' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LongLivedAssetsInIreland' xlink:label='fil_LongLivedAssetsInIreland'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInIreland' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LongLivedAssetsInAustralia' xlink:label='fil_LongLivedAssetsInAustralia'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInAustralia' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LongLivedAssetsInCanada' xlink:label='fil_LongLivedAssetsInCanada'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInCanada' use='optional' order='5.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<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='utmd-20221231.xsd#fil_GlobalMember' xlink:label='fil_GlobalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_GlobalMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_ObstetricsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_GynecologyElectrosurgeryUrologyMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_NeonatalMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_BloodPressureMonitoringandAccessoriesMember' xlink:label='fil_BloodPressureMonitoringandAccessoriesMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_BloodPressureMonitoringandAccessoriesMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_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='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<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='utmd-20221231.xsd#fil_OusMember' xlink:label='fil_OusMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_OusMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_ObstetricsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_GynecologyElectrosurgeryUrologyMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_NeonatalMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_BloodPressureMonitoringandAccessoriesMember' xlink:label='fil_BloodPressureMonitoringandAccessoriesMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_BloodPressureMonitoringandAccessoriesMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RoyaltyIncomeNonoperating' xlink:label='us-gaap_RoyaltyIncomeNonoperating'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_RoyaltyIncomeNonoperating' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractualObligation' xlink:label='us-gaap_ContractualObligation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ContractualObligation' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote13EmployeeBenefitPlansDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:label='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:label='fil_LesseeOperatingLeaseForParkingLotTermOfContract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LesseeOperatingLeaseForParkingLotTermOfContract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:label='fil_LesseeOperatingLeaseForAutomobileTermOfContract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LesseeOperatingLeaseForAutomobileTermOfContract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:label='fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost' xlink:label='us-gaap_OperatingLeaseCost'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseCost' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset' xlink:label='us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseRightOfUseAsset' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList' xlink:label='us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent' xlink:label='us-gaap_OperatingLeaseLiabilityCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseLiabilityCurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:label='us-gaap_OperatingLeaseLiabilityNoncurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseLiabilityNoncurrent' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability' xlink:label='us-gaap_OperatingLeaseLiability'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseLiability' use='optional' order='5.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability' xlink:label='us-gaap_OperatingLeaseLiability'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseLiability' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' xlink:label='us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' xlink:label='us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' use='optional' order='11.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='fil_DistributionRightsAcquisitionAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_CoopersurgicalIncMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FinitelivedIntangibleAssetsAcquired1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20221231.xsd#fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:label='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:type="simple" xlink:href="utmd-20221231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ProfitLoss' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:label='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_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_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic' xlink:label='us-gaap_EarningsPerShareBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EarningsPerShareBasic' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted' xlink:label='us-gaap_EarningsPerShareDiluted'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EarningsPerShareDiluted' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
	</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>14
<FILENAME>utmd-20221231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2023 [PPXK9NDL3JZWVDAVFT50]. www.edgarsuite.com -->
<schema xmlns:cef='http://xbrl.sec.gov/cef/2022' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:country='http://xbrl.sec.gov/country/2022' xmlns:us-gaap='http://fasb.org/us-gaap/2022' xmlns:srt='http://fasb.org/srt/2022' xmlns:fil='http://www.utahmed.com/20221231' xmlns:dei='http://xbrl.sec.gov/dei/2022q4' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xbrldt='http://xbrl.org/2005/xbrldt' targetNamespace='http://www.utahmed.com/20221231' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2020-01-21' xmlns:link='http://www.xbrl.org/2003/linkbase' xmlns:xbrli='http://www.xbrl.org/2003/instance' elementFormDefault='qualified' attributeFormDefault='unqualified'>
	<annotation>
		<appinfo>
			<link:linkbaseRef xlink:type="simple" xlink:href="utmd-20221231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="utmd-20221231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="utmd-20221231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="utmd-20221231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" id="idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow">
				<link:definition>000070 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW</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.utahmed.com/20221231/role/idr_DisclosureNote8Options" id="idr_DisclosureNote8Options">
				<link:definition>000150 - Disclosure - Note 8 - Options</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.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure" id="idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure">
				<link:definition>000220 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails">
				<link:definition>000780 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails">
				<link:definition>000920 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies">
				<link:definition>000410 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies">
				<link:definition>000270 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables">
				<link:definition>000480 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingencies" id="idr_DisclosureNote6CommitmentsAndContingencies">
				<link:definition>000130 - Disclosure - Note 6 - 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.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails">
				<link:definition>000930 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables">
				<link:definition>000530 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (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.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails" id="idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails">
				<link:definition>000900 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" id="idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
				<link:definition>000820 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" id="idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
				<link:definition>000840 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables" id="idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables">
				<link:definition>000570 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables">
				<link:definition>000430 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (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.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails" id="idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails">
				<link:definition>000940 - Disclosure - Note 12 - Product Sale and Purchase Commitments (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails">
				<link:definition>000700 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails">
				<link:definition>000660 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies">
				<link:definition>000280 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies">
				<link:definition>000360 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (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.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables">
				<link:definition>000620 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (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.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables" id="idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables">
				<link:definition>000590 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables">
				<link:definition>000470 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies">
				<link:definition>000300 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (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.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables" id="idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables">
				<link:definition>000630 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical" id="idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical">
				<link:definition>000030 - Statement - UTAH MEDICAL PRODUCTS, INC. 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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies">
				<link:definition>000370 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (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.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipment" id="idr_DisclosureNote4PropertyAndEquipment">
				<link:definition>000110 - Disclosure - Note 4 - Property and Equipment</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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails">
				<link:definition>000710 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies">
				<link:definition>000330 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (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.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformation" id="idr_DisclosureNote9GeographicInformation">
				<link:definition>000160 - Disclosure - Note 9 - Geographic 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.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables">
				<link:definition>000580 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (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.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments" id="idr_DisclosureNote12ProductSaleAndPurchaseCommitments">
				<link:definition>000190 - Disclosure - Note 12 - Product Sale and Purchase Commitments</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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails">
				<link:definition>000680 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (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.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables">
				<link:definition>000560 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (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.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables">
				<link:definition>000510 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPolicies">
				<link:definition>000080 - Disclosure - Note 1 - Summary of Significant Accounting Policies</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables" id="idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables">
				<link:definition>000640 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (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.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails" id="idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails">
				<link:definition>000990 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure (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.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails" id="idr_DisclosureNote14LeasesDetails">
				<link:definition>000960 - Disclosure - Note 14 - Leases (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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails">
				<link:definition>000740 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails">
				<link:definition>000760 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables">
				<link:definition>000550 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (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.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebtDetails" id="idr_DisclosureNote5LongTermDebtDetails">
				<link:definition>000800 - Disclosure - Note 5 - Long-term Debt (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.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables" id="idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables">
				<link:definition>000490 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegion">
				<link:definition>000180 - Disclosure - Note 11 - Revenues By Product Category And Region</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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails">
				<link:definition>000750 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (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.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncements" id="idr_DisclosureNote17RecentAccountingPronouncements">
				<link:definition>000240 - Disclosure - Note 17 - Recent Accounting Pronouncements</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.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" id="idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets">
				<link:definition>000020 - Statement - UTAH MEDICAL PRODUCTS, INC. 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.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails" id="idr_DisclosureNote6CommitmentsAndContingenciesDetails">
				<link:definition>000810 - Disclosure - Note 6 - Commitments and Contingencies (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxes" id="idr_DisclosureNote7IncomeTaxes">
				<link:definition>000140 - Disclosure - Note 7 - Income Taxes</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts">
				<link:definition>000090 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts</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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails">
				<link:definition>000730 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (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.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity" id="idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity">
				<link:definition>000060 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS&apos; EQUITY</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables" id="idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables">
				<link:definition>000600 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (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.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails" id="idr_DisclosureNote8OptionsDetails">
				<link:definition>000860 - Disclosure - Note 8 - Options (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.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies" id="idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies">
				<link:definition>000420 - Disclosure - Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (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.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebt" id="idr_DisclosureNote5LongTermDebt">
				<link:definition>000120 - Disclosure - Note 5 - Long-term Debt</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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies">
				<link:definition>000320 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables">
				<link:definition>000460 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (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.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables">
				<link:definition>000610 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (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.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails" id="idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails">
				<link:definition>000970 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies">
				<link:definition>000290 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (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.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
				<link:definition>000520 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation" id="idr_DocumentDocumentAndEntityInformation">
				<link:definition>000010 - Document - Document and Entity Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlans" id="idr_DisclosureNote13EmployeeBenefitPlans">
				<link:definition>000200 - Disclosure - Note 13 - Employee Benefit Plans</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.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation" id="idr_DisclosureNote10GeographicLongLivedAssetsInformation">
				<link:definition>000170 - Disclosure - Note 10 - Geographic Long-Lived Assets 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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies">
				<link:definition>000380 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (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.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails" id="idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails">
				<link:definition>001000 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (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.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
				<link:definition>000540 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies">
				<link:definition>000390 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (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.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails" id="idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails">
				<link:definition>000910 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies">
				<link:definition>000340 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (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.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails">
				<link:definition>000870 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails">
				<link:definition>000720 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies">
				<link:definition>000260 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables">
				<link:definition>000440 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (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.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables">
				<link:definition>000450 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (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.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables" id="idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables">
				<link:definition>000650 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies">
				<link:definition>000400 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (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.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" id="idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails">
				<link:definition>000850 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (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.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails" id="idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails">
				<link:definition>000770 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails">
				<link:definition>000890 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (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.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
				<link:definition>000790 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (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.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical" id="idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical">
				<link:definition>000050 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - 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.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome" id="idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome">
				<link:definition>000040 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies">
				<link:definition>000350 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (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.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails" id="idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails">
				<link:definition>000980 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (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.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" id="idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails">
				<link:definition>000830 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (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.utahmed.com/20221231/role/idr_DisclosureNote18SubsequentEvents" id="idr_DisclosureNote18SubsequentEvents">
				<link:definition>000250 - Disclosure - Note 18 - Subsequent Events</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies">
				<link:definition>000310 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Inventories (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.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShare" id="idr_DisclosureNote16EarningsPerShare">
				<link:definition>000230 - Disclosure - Note 16 - Earnings Per Share</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.utahmed.com/20221231/role/idr_DisclosureNote14Leases" id="idr_DisclosureNote14Leases">
				<link:definition>000210 - Disclosure - Note 14 - Leases</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.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited" id="idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited">
				<link:definition>000100 - Disclosure - Note 3 - Quarterly Results 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.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails" id="idr_DisclosureNote13EmployeeBenefitPlansDetails">
				<link:definition>000950 - Disclosure - Note 13 - Employee Benefit Plans (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.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails" id="idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails">
				<link:definition>000880 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails">
				<link:definition>000690 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (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.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
				<link:definition>000670 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (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.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables">
				<link:definition>000500 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
		</appinfo>
	</annotation>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='http://www.xbrl.org/2005/xbrldt-2005.xsd' namespace='http://xbrl.org/2005/xbrldt'/>
	<import schemaLocation='https://www.xbrl.org/dtr/type/2020-01-21/types.xsd' namespace='http://www.xbrl.org/dtr/type/2020-01-21'/>
	<import namespace='http://xbrl.sec.gov/dei/2022q4' schemaLocation='https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd'/>
	<import namespace='http://fasb.org/us-gaap/2022' schemaLocation='https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_U.S.AndCanadaMember' name='U.S.AndCanadaMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_EnglandAndAustraliaMember' name='EnglandAndAustraliaMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_Range1Member' name='Range1Member'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_Range2Member' name='Range2Member'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' name='CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
	<element nillable='true' type='xbrli:sharesItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' name='CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' name='FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='credit' id='fil_DeferredTaxLiabilitiesDepreciationAndAmortization' name='DeferredTaxLiabilitiesDepreciationAndAmortization'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_DeferredIncomeTaxExpense' name='DeferredIncomeTaxExpense'/>
	<element nillable='true' type='xbrli:stringItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_PriceRangePerShareGranted' name='PriceRangePerShareGranted'/>
	<element nillable='true' type='xbrli:stringItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_PriceRangePerShareExpired' name='PriceRangePerShareExpired'/>
	<element nillable='true' type='xbrli:stringItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_PriceRangePerShareExercised' name='PriceRangePerShareExercised'/>
	<element nillable='true' type='xbrli:stringItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_PriceRangePerShareOutstanding' name='PriceRangePerShareOutstanding'/>
	<element nillable='true' type='xbrli:stringItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_PriceRangePerShareTotalExercisable' name='PriceRangePerShareTotalExercisable'/>
	<element nillable='true' type='xbrli:decimalItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' id='fil_WeightedAverageRemainingContractualLifeYears' name='WeightedAverageRemainingContractualLifeYears'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_CompanySalesInTheUnitedStates' name='CompanySalesInTheUnitedStates'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_CompanySalesInEurope' name='CompanySalesInEurope'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_CompanySalesOther' name='CompanySalesOther'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInTheUnitedStates' name='LongLivedAssetsInTheUnitedStates'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInEngland' name='LongLivedAssetsInEngland'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInIreland' name='LongLivedAssetsInIreland'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInAustralia' name='LongLivedAssetsInAustralia'/>
	<element nillable='true' type='xbrli:pureItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' id='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' name='ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
	<element nillable='true' type='xbrli:pureItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' id='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' name='ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInCanada' name='LongLivedAssetsInCanada'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_GeographicInformationTextBlock' name='GeographicInformationTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_GeographicLongLivedAssetsInformationTextBlock' name='GeographicLongLivedAssetsInformationTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ProductSaleAndPurchaseCommitmentsTextBlock' name='ProductSaleAndPurchaseCommitmentsTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_PresentationOfSalesAndSimilarTaxesTextBlock' name='PresentationOfSalesAndSimilarTaxesTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_PropertyPlantAndEquipmentByLocationTextBlock' name='PropertyPlantAndEquipmentByLocationTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ScheduleOfGeographicInformationTextBlock' name='ScheduleOfGeographicInformationTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' name='ScheduleOfLongLivedAssetsByGeographicAreaTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_RevenuesbyproductcategoryandregionTextBlock' name='RevenuesbyproductcategoryandregionTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' name='ScheduleofglobalrevenuesbyproductcategoryTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ScheduleofousrevenuesbyproductcategoryTextBlock' name='ScheduleofousrevenuesbyproductcategoryTextBlock'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense' name='TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_GlobalMember' name='GlobalMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_OusMember' name='OusMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ObstetricsMember' name='ObstetricsMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_GynecologyElectrosurgeryUrologyMember' name='GynecologyElectrosurgeryUrologyMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_NeonatalMember' name='NeonatalMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_BloodPressureMonitoringandAccessoriesMember' name='BloodPressureMonitoringandAccessoriesMember'/>
	<element abstract='true' nillable='true' type='xbrli:stringItemType' substitutionGroup='xbrldt:dimensionItem' xbrli:periodType='duration' id='fil_DistributionRightsAcquisitionAxis' name='DistributionRightsAcquisitionAxis'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_DistributionRightsAcquisitionDomain' name='DistributionRightsAcquisitionDomain'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_CoopersurgicalIncMember' name='CoopersurgicalIncMember'/>
	<element nillable='true' type='xbrli:decimalItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' name='RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears'/>
	<element nillable='true' type='xbrli:durationItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' name='ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock'/>
	<element nillable='true' type='xbrli:durationItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_LesseeOperatingLeaseForParkingLotTermOfContract' name='LesseeOperatingLeaseForParkingLotTermOfContract'/>
	<element nillable='true' type='xbrli:durationItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_LesseeOperatingLeaseForAutomobileTermOfContract' name='LesseeOperatingLeaseForAutomobileTermOfContract'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths'/>
	<element nillable='true' type='xbrli:durationItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_AdjustmentToDeferredTaxLiability' name='AdjustmentToDeferredTaxLiability'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' name='LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_Range3Member' name='Range3Member'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_LitigationExpense' name='LitigationExpense'/>
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>15
<FILENAME>utmdex23z2_1.jpg
<DESCRIPTION>IMAGE
<TEXT>
begin 644 utmdex23z2_1.jpg
M_]C_X  02D9)1@ ! 0(  @ 6  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0D)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" "?!1\# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#W^BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HKF_&7CC1? NEI?:Q+(3*^R&W@ :68\9V@D# !R22 .!U(!C\!ZWKOB/PZ
M=6US38-/^TR^;8Q0R!]UJR*T;,<G+<D'A>GW10!U%%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%>;^-?C+X:\+Q:A8VMW]MUN#=$MO%$SI'+M)'F-E5VAL!@K%ADC&0<
M 'I%<OXF^(?A;PC%-_:FK0"ZBX-E"PDG+%2RC8.5R.A;"\C)&:^?+_7/BA\6
MK(P6]K)/I-S<%/L]E&L<"R1(K$.['('S*P#M@L>.5 &YX=^ J6^A76L^.M0G
MTZ&"*262UL]KO$B<[V<!P> QVJ#_  \YRM 'K?@?XG:#X_N+RWTN.[@GM45V
MCNPBLZDD94*[$@$ $]MR^M=I7RA\"-$U&^^(]IJUM;[['3=_VN7>H\OS(953
M@G)R1C@''>OJ^@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
MC'/&Y:^ /#L7B&?Q#<Z;!=:S+*TGVJ8R2;?GRFU9'8*RA4 9<8Q\H4':.HH
MSWT/2Y-=76Y+""34TB$,=TZ;GC0;^%)^[_K'SC&<X.<"M"BB@ HHHH ****
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
M//\ $7XB>,DL[KP+X4DM]/%Q(XN;IXV%W'&RC:=VT(#NYVL22"%;Y&K0\)?
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
M?*A7:K<81,D+P,9Y8Y;G!P/0*** "BBB@ HHHH **** "BBB@ HHHH ****
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
MACLK"S3:S*6:*TB+$[FR<-*PP.-N[8. %)'TWH>C6?A[0K+2+!-MK:1+$F0
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
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!115/5=5L=#TNXU/4[F.VL[=-\LK]%'\R2<  <DD <F@"Y7F_C?XO:/X875+
M&PD@O=7M+3SD4S(8?,,HB,3$-N\Q<ERF =JGD=1Y1\1/C%J/C26+1/"@OK;3
M;N(03P&!1/<R,V-@*LQVD;0 N"=S Y! KJ_!'[/MM:QV6I^*+N22\1XY_P"S
MX50Q(0V3'(6#"0$;00,#[PRPP: .$LM'^(7QFM8)YG@N;6VNY@=0N95C6)VC
MBRFQ>0N$3&U/O.Q)Y)'M_@GX1^'?!OV&]\K[9K=KYG_$QW21[MVX?ZO>5&$;
M;^&>M>@44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 445X7\0?CY#8O-I?@\1W%PCM'+J,JAHA\N,PC/SD,?O,-OR\!@V
M: /9-9US2_#VG/?ZO?P65JN1OF?&X@$[5'5FP#A1DG' KYT\2_%[Q7X^UF#0
MO!L%WI\4[F...W<?:+@[LAF<8\L!5!(4X W;F(Z<OX4\ >*_B;?C4VFDEM'N
M/(N]4N[@2,A5%)RI;>Y"E0.W(&0,D?3_ (-\#Z+X$TM['1XI"97WS7,Y#2S'
MG&X@ 8 .   !R>I)(!X9H?[.GB"XO+*36[^QM;%]KW,<$C/.@QDH/DV;L\9W
M$#K\V,'U=]!\2^ _"BZ;X'B@U:&"()!;:E,J/&YF=W?*A1)N$F,%DV^6"-Q8
MBO0** .+\&^+M?UQY+'7?!VI:7>6[^7/<?+]E8A3\R%F#,"RL $#@ J2V#FN
MTHHH **** "BBB@ HHJ.>>&UMY;BXECA@B0O))(P544#)))X  YS0!)5>]O[
M/3+.2\O[N"TM8\;YIY!&BY( RQ.!DD#\:\;\6_M#:19V\L'A6VDO[P.H2YNH
MBEOMQEB!N#D_PX(7G)R0,'QS6-5\4_%KQ:DZV'VN_,20QP64)"0QAL9)).%W
M.268X&[J!@  ]C\:_M!6.E7$^G^%[2/4;B)RC7LS?Z/D$?<"G,@^\,Y49 (W
M UG^#?#GCSXDQR:CXSUW6;/0[FRV0):7"6QN0S'K$J[2A7=DLH+!DQE>G4?#
MCX,6/@VX?4=6EM-6U!DB,.ZV^6T=3N8H6)W'=MP^U2-O&,D5ZI0!3TO2[31K
M!;*R218%=W_>2O*Q9W+L2SDL268G))ZU<HHH **** ,_6];T[PYH\^K:M<?9
M[&#;YDNQGV[F"CA02>2!P*\;^(OQDL=&N(I/!C6EWJ&I64?GZB6\Q88@9/+0
M)GB4-([$,!C(!#9^7T3XGZ;KNL_#_4=,\/0^;?76R,J+@0MY>X%\$\'(&"I(
M!4MR?NGS?X>_ 3[#>)J7C)8)VC\N6WL89=Z;L'<LX*X;!V\*Q4X.<CJ 8'PE
M^%TOBZZ_X2OQ*T\EB95N+?<Z2?;I!*WF>;NW';E"&! +;\YXY^EZ** "J>JZ
MI::+I=QJ5^\B6ELF^5TB>0JO<[4!.!U)QP 2> :N5YO\:=:BT#P0UT]M/<27
M?FZ:@2\>%$\Z&0%V0?+)C;P&'&<@@T <W\.POBOXMZQXJO\ 1(X;DV5K=PNM
MZSFQ,D.Q4884.98OWF<$*, X8D#VRO!_AMXP\-^ ?@L]^VH076IR2RW,FF"[
MC$QD+B)5"_>5=J(Q."0"QYX%<IXL^/FOZXEHFAPR:$(G+S;)EF,Q#*R<F,$
M%3D=&#$'(X(!]!^+_%^E^#-"N-0U"Y@698G>VM7EVO<N,811@D\E02 =N<GB
MO!)?%7C?XQ>*H(M%TV--)LGADFT^:4M:$;U.;D_+YH++G;C.U3M7(8G4T3X-
M^*?&VHP:]X^U:>.&XB9S#YA-VF22J;64I$N6+;1G'W=JDG;[OHVAZ7X>TY+#
M2+""RM5P=D*8W$ #<QZLV ,L<DXY- ''Z9\*=+_MB75_$KP:[>#$=I$UMY5I
M9P*I588X-S+M&3USV/#98^@444 %%%% !1110 5E^(M?L?"WA^\UK4FD%I:H
M&?RUW,Q)"JH'J6('.!SR0.:U*\/_ &D]3\KP[H>D^3G[3=O<^;N^[Y2;=N,<
MY\[.<\;>^> #S#4]3\4_&OQS%;V\/J+>V#'R;*'(W.S8^FYL98X 'W5'TWX,
M\%:1X'T9;+3;>,3R(GVNY .ZXD50"QR20,Y(4' W''4YXOX,^'[/P3\.CKVK
MW$%G)JNRYFFGE")'#TA4L6V\[BV>#^\VGD5V%C\1?".I^)(_#]AK<%WJ4F=B
M0*\B-A"YQ( 4.%!_B[8Z\4 2>*_'?ASP9;E]9U&..<INCM(_GGDX;&$'(!*D
M;CA<\$BK&N>'5\2&2QU66.?09;?9-IXC9&DE$BNLAE5@0%V8"@#[Q))X P]1
M^&&C^(-=T?6_$<\^IW^GVD=O(K*B07+)N.]XP.[,3M#;>@((R#W% &?HVAZ7
MX>TY+#2+""RM5P=D*8W$ #<QZLV ,L<DXY-:%%% !7)Z@/';^++>*SDT:+PV
M]Q&7F5'>[2-5WN&#$)AF4QY&2 X.,@D=910!7L[&WT^!H;6/RXVEDF(W$Y>1
MVD<\^K,Q]L\<58HHH **** "O _C9XHN=>\2Z?\ #C2I(XS/<0"ZE=W4&60_
MNXVP,% &1R?FY*XP5.??*\+^(WPI\5W_ (]G\9^&;BTFG#V\\5NS!)4EC"J-
MN\;& V!OF([C!QR >F?#_P '6_@;PE;:3%\UPV)KR0.6$DY4!RN0,+\H X'
M&><D]15/29+Z;1K&75(8X-0>WC:ZBC.524J-ZCD\!LCJ?J:N4 <O\1M3O-'^
M'6O7UA#/)=):,J&!BKQ[OE,@(!(V!B^?]GJ.H^6/ 'C#2_!>HSW]]X9@UJZ.
MPVKS3[/LQ4DEE!1AN)VX;@C;P>37V?7+ZS\.?!VO[SJ/AVQ>1Y3,\T,?DR.Y
MSDL\>UFSDDY/)YZT >0)^T)XDU;7;6WT3PI!+&^-]FIDN)Y<9+;&4#'RC^XV
M,$\CBO3[SP1I?CN\T#Q/XAMKY)H+2.0://)F"-V&Y@Z%02P) /3.Q01@8KK-
M-TG3=&MVM]+T^TL8&<NT=K"L2EL 9(4 9P ,^PJY0!3TW2=-T:W:WTO3[2Q@
M9R[1VL*Q*6P!DA0!G  S["J_B/6H?#GAK4M9G\LI9V[RA'D$8D8#Y4W'H6;"
MC@\D<&M2J]_8V^IZ=<V%Y'YEK=1-#,FXC<C AAD<C()Z4 ?%FM:_XF^(?B#?
M<M=ZC=RN[6]E;JSK$,9*Q1C.!M49QR=N22<FOHOP;\,Y[?PWI-CXD2Q6S@B,
MDVD6BRJDMP7C827+^:5G8>6!M*[!N(&5"UVGAKP?H'@^WG@T'38[-+AP\I#L
M[.0,#+,2<#G S@9/J<[E !7B</[.>D+XE-[/J\CZ3]H:4::D!4^7DE8_-+DX
M' )QD@'D$Y'ME% $<$$-K;Q6]O%'#!$@2..-0JHH&  !P !QBI*** "N7\3?
M#SPMXNBF_M328#=2\F]A41SA@I53O'+8'0-E>!D'%=17)_$2P\5ZCX5D@\'W
MT=IJ&\F0LP5I(MC@HC$':Y8KALKC'WA0!\V>(]/N/@_\48VT348+N2TQ/ 7
M=D1P08IE&,,5)!QC*L&&TD8^K]"U/^V_#NF:MY/D_;K2*Y\K=NV;T#;<X&<9
MQG KP_P]^SU?S:ZU_P",=8@NH?-\V2*U>1WNB<EM\C!2N3C)&2<GE3@U[Y!!
M#:V\5O;Q1PP1($CCC4*J*!@  <  <8H DHHHH **** "BBB@ HHHH **** "
MBBN'^*_C&X\$^!IK^QXO[B5;6U<H'6-V!)8@GLJMCK\VW((S0!'XY^*%CX*U
MG2]'&G7>I:A?.C&WMA\R1,Q4,O'SN6!"H.N#DKQGM/M]G_:/]G?:X/MWE>?]
MF\P>9Y>=N_;G.W/&>F:\?^$WP_M=7T*S\7^++:>]UV:[%Y:7=S<S^:L:;1$6
M!(!Y0L,Y!4KSC@=)XX^*GAGP5')/;FTU36G<6SVUK,N]1&QR)7 )0*6; (SE
MC@?>( -3Q)%XIU73KF*WU&Q\,:8UH7FOY6,UW%PI88!6.+:/,!<._0$8ZCPC
MQ;X+\!:9H4EV?B+_ &EXAE\Z<O&!<I=.,G:0A8QLQ*C>[G/S''IGZMXL\=?%
M_79=)TY)VM9-TD>EVT@2)(QM/[QC@-@JIW.<;C\H&0*]3\"_ _0$\)VS>+=%
MDDUIW=IU:\;$8W$*J^4P7&T ]SECSV !\Z)H>J2:$VMQV$\FF)*89+I$W)&X
MV<,1]W_6)C.,YP,X-=I\(/!6F>-?$LT&HW<8%FBSM8O#(PNHL[7^='4H5)3'
M)Y8<$ @_59T:SBT*;2+!/[,M7B>)/L $)AWYRT>!A6R20<=>:^6/@5>W%I\6
M--A@DV1W<4\,XV@[T$;2 <]/F13QZ>F: /JNSTG3=.N+JXLM/M+:>[??<R0P
MJC3-DG+D#+'+$Y/J?6KE%5[^]M],TZYO[R3R[6UB::9]I.U%!+' Y. #TH L
M5EZ_XBTCPMI;:EK5]':6@<)O8%BS'H%502QZG !X!/0&O*[SX]6%_IRIH^GW
MRW5SJ$=G"@\M[DQ$*9)$B!8>8"=J*WRL64@MAT'H%UHMYXR\.P6WB.&?2-TJ
MRS6>G:D6\V/9AH9G"+E3N8,JY' (:@#R2?7?'?QQMY;7P];QZ!HMNA2Z>2[?
M;<R,,&,NJ98;6^X%QSEB<H*[?0?@CX7T;Q FM.DDT\+Q26UO&[I!!(@0[P"S
M.3O5FPSD /C!QD^B6%C;Z9IUM86<?EVMK$D,*;B=J* %&3R< #K5B@#@_%'Q
M0L=&O7TK0].N_$NM(C/)9Z:/,$ 5PC>:RABASGC:2" #MR"?/_$GPB\5>-M+
MT?5VUR1M0N4DNKRTU2:5(K-I=KB*"/:Y0+RI!/\ "O3H/<--TG3=&MVM]+T^
MTL8&<NT=K"L2EL 9(4 9P ,^PJY0!P>@?"G0-*LEAU&&/4B+@W @962T1MGE
MKMMBS(2$ &]][DY8L2>.\HHH *^4/CUK-GJ_Q*:*S?S/[/M$LYG!!4R!G=@"
M">F\*<X(96&.*^@_B7K]]X7^'>KZQIC1K>0)&L3NNX(7D5-V.A(#$C.1D#((
MXKP#X(>![GQ#XLM]>EBC.EZ3<*[^874R2[69-A P2K!&8$C@CKG% 'T?X,@F
MM? GAZWN(I(9XM,MDDCD4JR,(E!!!Y!!XQ6Y4<\\-K;RW%Q+'#!$A>221@JH
MH&223P !SFO"[KQ=>_%3QEK'@S3]5OM+TUHI+:.2PACNH9A'(Q:>63Y66-T"
MH%4D$N,G!(8 ]XHJG!#8Z%HT4"&.UT^PMPBF23Y8HD7'+,>@4=2>W->=Z/\
M&#_A(_B*_A;1-"^U6L<KJ^I&[^01I]Z3"HPVD\*=V&W+RN[@ ]0KR_Q#\9+>
MTUT:1X3T2?Q7<)%YMPVGREDC'&,%$?=U&2.!D#).0/0-5TK^U/L7^GWUG]EN
MX[K_ $2;R_.VY_=R<'=&<\KWP*DTS2K'1K*.ST^VCMX$1$"KU(1%1=Q/+$*B
MKDDG"CTH X.UOOC#J'GS?V3X4TN/S6$5O?2RRR!.H):)BIZXSQD@\ 8K0A\5
M:GX4L[FZ^(^I^'+*-MOV,::9B\F#A_D?+-C<GW0<9)/%:GC7QGIO@?P_/J5Z
M\<DX0FVL_.5)+AL@84'D@%E+$ X'.#T/CFF>%/$OQO?3=?\ $=S_ &?I$$3K
M&T+*_P!H)N'+".//[K"@1[FR3Y:'Y\G !7U#XM>)/B3>6'AKPW_Q()[V4J[H
M\CN-HW B:,;E4\Y C&W:"7VLP7M_"WP^\>:!X[M+Z_\ &L^K:%#OWQ3W<^^7
M,3 9B.Y>'(/WCTSUXKM/"G@3PYX+MPFC:=''.4VR7<GSSR<+G+GD E0=HPN>
M0!6AX@\0:;X8T:?5-4N(X8(D8JK.JM*P4ML3<0&<A3@9YH T)YX;6WEN+B6.
M&")"\DDC!510,DDG@ #G->%_$WXEWFL^(=-\&>"=8@3[9+#'-J5K.?\ 6.^%
MC61>BC*EF7).=O&&!XSQ[\4=7^)M[:^'=&M)+33Y[A8H[8RC?=R%\1^8> H^
M[\N2 >23@$>O_#?X0Z9X.M[/4=1ACN/$D+R,;J*>0QH&!0*B_*"-AYW*3DGG
MI@ [S0K6\L/#NF6>HW'VB^@M(HKB;>7\R14 9MS<G)!.3R:T*CGGAM;>6XN)
M8X8(D+R22,%5% R22>  .<UX!XS^,]WXCN&TCP9?1Z59QH[7>J7DB0LZ9*GR
M@<MC!W#:#*>-J@J<@'L\_C/PK:W$MO<>)=&AGB<I)')?Q*R,#@@@MD$'C%7#
MJ]G/H4VK6%Y8W-JL3R)<&Y @.W.=THW!5!!!;!Q@\<5XOX6^ J:@MIJGC&2^
M6^??+>VYNUD,TIE8_,R@X4H 20Y9C(>4V_-[)I?AW2-&\/KH-E8QKI:HZ?9I
M"95*N26!WDD@ECP<]: .'\:?%[3-)\/ZE-X8FCU?4+-X5=XH))K6$.1AI)5P
MF",@8;.X@8X..;^%/QBUCQ9XM_L/7A8HL\4TEL\,#J[2!MX3.X@*$WXR,_(,
MDGK3^.?CMM'MU\"Z(L=K$;>(W,EK*J[(B''V8H!\@*A&X(RI Q@\['P%\"MH
M>C3>(]1M9(M0U! MLQF5E-HRHZL IX+-UW<C:.!SD ]DHHJGJNJV.AZ7<:GJ
M=S';6=NF^65^BC^9).  .22 .30 :EJVFZ-;K<:IJ%I8P,X19+J98E+8)P"Q
M S@$X]C1;:K8WUO;7-E<QW=O<N4BGM?WL9(#9RZY 'RD9) S@=2 ?!&M[#XS
M_$>6*73?%<.FQQ),9IKZ...T1H5*E86C8+YA52,.=P._H#CU-UMOA3X M+73
MK#4M6M+6X2$1HR-/B:;DX^7<=SX"J,DE1P,L #M**** "BBB@ HHHH ****
M"BBB@ HHKROXK?%M?!#P:9HQM+K6BX>XBG1G2&(J<;MK*0Y.T@<\9)QE<@&A
M\1OBSI'@>WN+*W>.\\0!%\NS )6/<"0TK#@  9VYW'*] =P\@BC\=_'C5('F
M$=GH]LZ0SR1%UM8F&YMXC9SOEVL1\O8J"5!S7#Z!JND7/BQ=3\<MJ6JVA0F9
M5<R2SMMVH&<R*0!P<Y/W0,8/'T?X7^-/@35733899-%2)%2!+Z)(8MH4\*RL
M40 *!ABO4 9H W/!'PU\/^ ?M,FE)/-=7'#W5VRO($X^0$* %R,\#DXR3@8[
M"N?_ .$[\'_]#7H?_@QA_P#BJT-,UW1];\W^R=5L;_R<>9]DN$EV9SC.TG&<
M'KZ&@#0HHHH **** "BBB@ HHHH ***PY/&&@1>+(?"[:E&=:E3>MJJ,Q VE
M_F8#:IVJ3@D'&#W&0#<HHHH **X?XD_$5/AWIUC<G3?M\EW*T:Q_:EAVA1DG
MD%CU'12!GD@E0USX>>.(?B!X:;5HK&2R>*X:WEA:0. P"ME6P,C:R]0.<CMD
M@'6445P_C[XG:/X%TYVW0:AJ:RI%_9T5TBR+N&[<XY95VCKM.25'?( .XHKR
M_P"''Q@_X6#XAN-)_L+[!Y-HUSYOVOS<X=%VXV+_ '\YSVKU"@ HHHH ***C
MGGAM;>6XN)8X8(D+R22,%5% R22>  .<T 25R_C'Q_X?\#V?FZM=;KAMICLH
M"K3R DC<$)&%^5OF) XQG. ?&/BE\;+C4)9-#\)W$]G;PRLMQJ$4@#S%6( B
M9"<1G .X'+9 X&=V7X'^$OB/QU<6FK^)IKN'19$9UFEN?](F5S(^8PP; ,AW
M$L!N#EAG.: +&N>,/&GQKMY-&\/Z')!9V[^=<Q17*[77"A%D=]H)#"1@,C.1
M\I,>ZNW^'_P(L?#]Q_:/B>2TU:[V%4M!%NMXB206.X?O#MQC*@*2>"<$>N6%
MC;Z9IUM86<?EVMK$D,*;B=J* %&3R< #K5B@".""&UMXK>WBCA@B0)''&H54
M4#   X  XQ4E%9>M>(]%\.6_GZSJEI8H4=T$TH5I HRVQ>KD9'"@GD>M &I1
M7+^%/B%X:\:2W$.BW_FW%ODO!)&T;[ Q4. >JG /'3<NX*3BNHH **** "BB
MB@ HK'\0^*M"\*68NM<U."RC;[@<DO)@@':@RS8W#. <9R>*\,\<?M!-J>ER
M:=X4M+NQ,Z!9+ZX95E0<[E15) .-OS[LC)P <, #U?QK\3O#G@FWG2ZNX[G5
M$0F/3H6S(S8! <C(C!# Y;J,D!L8KYH\:_$[Q'XVN)TNKN2VTMW)CTZ%L1JN
M00'(P9""H.6Z') 7.*L>$OAEXK\?W$6IB.1-/N[AO/U2Z<')SEW"D[Y#G(R.
M"V02,$CW_P &?!WP]X.N%NP\FI7>Q"6O((65)5((DB^3?&<YP QZ\Y(! !X9
MX.^"WBGQ/>?Z?:SZ)8+N#W%Y 0^X 8"Q$JS9R.>%X;G(P?IOPOX1T7P=I:6&
MC64<("*LLY4&6<C)W2/C+'+-[#.  .*W** "BBB@ HHHH **** "BBB@ HHH
MH *Y/XA>!X?'_AI=)EOI+)X[A+B*98PX# ,N&7(R-K-T(YP>V#UE% 'SY9?L
MU3?VI(+_ ,21G3T>,QF"V(EF7^,$$XC/8'+^I Z5ZOX2^''AGP9;Q+IVGQRW
M<;LXO[I%>XRPP</M&T;>,+@8SW))ZRB@ HHHH **** "BBB@ HHHH *\[^+'
MPWF^(6EV)L;R.WU"P=S")\^5(K[=X8@$@_*"",]"".<CT2B@#Y0T;X"^-M0U
M%(=1M8-+M>"]Q-/'+@9 (58V)+8)(!P#CJ*]C\ _!C1?!EQ)?7DL>LZAO4P3
M36P5;< @@HA+8?<,[\Y& !CG/IE% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
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
M\V[;QG.*P]7U+QVSZI<;=&\.Z#9I.&O;@/>W7EHK$7"1H0F",'8V2"#D-P"
M=Y7)^*/B3X4\(.\&JZK']L5&;[' #++D*&"D+PA((QO*@YZXR:\$^(/Q"?Q+
M%?>&-&O[[68;_55NXKE8VB!0KM2T2'JRJ=AW'&YP3MS\QZ#P7^SU<3?9;_Q;
M=?9U64F32X<,SH.@:56PN3U"Y^7N"?E .G/Q_P!'U.*:S\/Z'KEWJ\D3_9(3
M:)(&D"DC<J2%BHQDXYP#7/R_"_QC\5+QO$7C"\@T&;RHXK2UCM?,(BP6Y7>"
MG+$X8ELE@0H %>T:-X4\/^'MATC1K&RD6(0^=# HD9!CAGQN;H"<DY(R>:V*
M .'\"_"[0O <HO+)IY]2>T%M/<R.0'^;<S!.BY.T8YP$7ON+=Q14<\\-K;RW
M%Q+'#!$A>221@JHH&223P !SF@"2BLN?7[%/#\NM6;2:I:*A:/\ LQ?M+3$'
M;M0)G<=W'H.<D $CROXUP:Q<^%[XZIXFTK2;%)2]EI<0=I-052@&]\@E@23L
M5"JDKN8XW* =9JOQD\!Z2]Q$^NQW,\*;O+M(GF$AVY"JZC82>GWL \$C!KRC
M5?V@_$VI:I<6?AS2[2."X?R;+? TMUD_*IP&VER>0NTC) ^;J?/_  ;\.?$?
MCIW;2+:-;2)]DMY</LB1MI.,X)8].%!QN7. <U]+^"?A1X<\(6$ DLK34M41
MP[:A-;_-N5RR%%8L(R 0,J1G:": /%+/X6?$+XAZZ=9\01?8/M>TSWEZBQN0
MF(\"%0&#;1D A0<=>03ZGX2^!'AGP[<17FHR2:U=HC*4NHE%N23PPBP>0O'S
M,PSDX!QCU2B@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH \O^,NB^-M?T[3;#PDL[VK^<-02&YCAW@A0BL692RD&3*]#W'2N
M7\-?#?XDV_AW_A&FU>Q\/Z;#J$DWVVQ=_M<HV$ @QE0\;$C[Y#C [*JU[Q10
M!3TS3ETRRCMEN;NY*HBM-=3M*[E45-Q)X!(4$X !))QDDFY110!'/!#=6\MO
M<11S02H4DCD4,KJ1@@@\$$<8H@@AM;>*WMXHX8(D"1QQJ%5% P  .  .,5)1
M0 4444 >7Z#\%+#PY/>2:7XI\1V:W'R[;:XCCRFS;A_D(9@6<AL#;N&,$;CZ
M9!"MM;Q0(9"D:!%,DC.Q &.68DL?<DD]ZDHH **** .7\?\ @ZW\<>$KG29?
MEN%S-9R%RHCG"L$+8!ROS$'@\$XYP1XA8_ #QYIEY'>6&N:5:74>=DT%W/&Z
MY!!PPCR,@D?C7TO10!X7X7_9SL8$2?Q1J<EU.'5OLUB=D6 QRK.PW,&&WH$(
MYY/!KW 0JMP\X,F]T5"#(Q7"DD87. ?F.2!D\9S@8DHH *IZMIL.LZ-?:7<-
M(L%[;R6\C1D!@KJ5)&01G!]#5RB@#R>Q_9Z\%6EY'/-+JM[&N<P3W"A'R".2
MB*W'7@CIZ<5Z9I6EVFBZ7;Z;8)(EI;)LB1Y7D*KV&YR3@= ,\# ' JY10 5Q
M_P 1_'/_  K[P[;ZM_9WV_SKM;;RO/\ *QE';=G:W]S&,=Z["J]U86=]Y'VR
MT@N/(E6>'SHP_ER+]UUST89.".10!S?@[Q/J_BPW-[/H,FDZ7&\D5O\ :9 T
M]PRR,AW*"#"4*,&5@<EA@_*=VYK>B:=XCT>?2=6M_M%C/M\R+>R;MK!ARI!'
M(!X-:%<OXZ\=:7X#T(W]^?-N),K:6B-A[AQV'HHR,MVR.I(! ,?Q_P"-=+^%
M?A>"'3M.@2ZN-Z:?90Q>7"I!R[L%P H+ D#EBW;EAY9X"\,:E\8O%EUXN\6O
M'<:3 [0&W#LH=MN5BC"L"B)O#9SR3_$68C0\.^!]7^+>I:1XS\77T<VFSI./
MLUK&(]D<<N(X200V&9I3GYB%09;+ K[W8V%GIEG'9V%I!:6L>=D,$8C1<DDX
M4<#))/XT %A8V^F:=;6%G'Y=K:Q)#"FXG:B@!1D\G  ZU8HHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "N'C^'?VZ
M\UB3Q+K,^M6NJ6EI;SVAC\A-T !W@JV5R^YPJE5&]LAN".XHH C@@AM;>*WM
MXHX8(D"1QQJ%5% P  .  .,5)110 4444 %%%% !1110 4444 %%%% !1110
#!__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>16
<FILENAME>utmd10k_1.jpg
<DESCRIPTION>IMAGE
<TEXT>
begin 644 utmd10k_1.jpg
M_]C_X  02D9)1@ ! 0(  @ 6  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0D)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" "?!1\# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#W^BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HKF_&7CC1? NEI?:Q+(3*^R&W@ :68\9V@D# !R22 .!U(!C\!ZWKOB/PZ
M=6US38-/^TR^;8Q0R!]UJR*T;,<G+<D'A>GW10!U%%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%>;^-?C+X:\+Q:A8VMW]MUN#=$MO%$SI'+M)'F-E5VAL!@K%ADC&0<
M 'I%<OXF^(?A;PC%-_:FK0"ZBX-E"PDG+%2RC8.5R.A;"\C)&:^?+_7/BA\6
MK(P6]K)/I-S<%/L]E&L<"R1(K$.['('S*P#M@L>.5 &YX=^ J6^A76L^.M0G
MTZ&"*262UL]KO$B<[V<!P> QVJ#_  \YRM 'K?@?XG:#X_N+RWTN.[@GM45V
MCNPBLZDD94*[$@$ $]MR^M=I7RA\"-$U&^^(]IJUM;[['3=_VN7>H\OS(953
M@G)R1C@''>OJ^@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
MC'/&Y:^ /#L7B&?Q#<Z;!=:S+*TGVJ8R2;?GRFU9'8*RA4 9<8Q\H4':.HH
MSWT/2Y-=76Y+""34TB$,=TZ;GC0;^%)^[_K'SC&<X.<"M"BB@ HHHH ****
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
M//\ $7XB>,DL[KP+X4DM]/%Q(XN;IXV%W'&RC:=VT(#NYVL22"%;Y&K0\)?
MO3=,OXM9\2W\FM:H7:6:.5%>W=G3#;PX+2$,68,2N3@X&.0#8T[Q_=^/'N+/
MP98W<-HKR03:_=PIY5NP7*-'$6!E)]#MV[D+ @XJQX2^&:^'=9BUW4?$FLZU
MK"6[6QFNKAA&4+9 "9)P/1F89RV <8[2QL+/3+..SL+2"TM8\[(8(Q&BY))P
MHX&22?QJQ0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M5>]O[/3+.2\O[N"TM8\;YIY!&BY( RQ.!DD#\: +%8?BCQ=HO@[2WO\ 6;V.
M$!&:* ,#+.1@;8TSECDK[#.20.:\8\9?'N^U"]32O =O(#(_E"[EM]\LK[P%
M$,9R,$#^)23OQM4C)Q_ OP3U?Q7<7&J^,'U+38'??B11]HNF8ON)+DLA# '+
M*=P;CUH CU;XE>.OBM>2^'?#>G_9;6>)O-M;9P7>/"[O,F; "Y!'&P'?M.[(
MSW_@'X$Z7H&R_P#$OD:KJ0W@6^-]H@/ .UE!=L9Y/ W=,J&KTCPQX8TOPAH4
M.D:1!Y5O'RS-R\KGJ[GNQP/R     V* "BBB@ HHHH **** "BBB@ HHK#\8
M7VM:9X3U"^\/6,=]JD"*\-NZE@XW#?P""3MW$ ')( &>A -RBO/Y]%^(6KZG
M/>6OC>#2],EB@:UB31U=R3&/,+)* T?SY(4LQ&<'&*R]2NOC+H5PMCIUGHWB
M2W5 PU&6-;>1R2<JZ><H!'0;001@YSD  ]4HKDQXDU/0_!VH:YXETV[9[-]S
M06EI&LAB^4;@BW$H(&6))<8"G@8R=#PIXFA\6Z,-4M].U*Q@9\1K?P")I5*J
MP=<$@H0W!SS@T ;E%%% !1110 4444 %%%% !117)^+?B/X9\&6\K:CJ$<MW
M&ZH;"U=7N,L,C*;AM&WG+8&,=R 0#K*Y?Q-\0_"WA&*;^U-6@%U%P;*%A).6
M*EE&P<KD="V%Y&2,UX9/\5/B7X]N);/PQ826T!<Q,-.MR[(LAPGF3-D(0 <.
M-G<\8XU/#'[.-Q/%#<^)]6^S;N7L[)0S@%> 93\H8,>0%8<<'G( ,OQ+\7O%
M?C[68-"\&P7>GQ3N8XX[=Q]HN#NR&9QCRP%4$A3@#=N8CIJ>!?V?;B647OC-
MO(A&"FGVTP+L0W(D<9 4@=$.3NZJ1@^U^%_".B^#M+2PT:RCA 15EG*@RSD9
M.Z1\98Y9O89P !Q6Y0!7L;"STRSCL["T@M+6/.R&",1HN22<*.!DDG\:L444
M %%%% !1110 4444 %%%% !1110 445Y/\7?BO<>")4T32[/=J=U:><MW(1L
MMP6*@A>=[?*_7 'RGYN10!C_ !@^*./M'@CPROVS4+K-K>RQIYFS=\I@C'.Z
M0YP?[N<#YON?/DT&I:%J@2>*[T_4+9U<*ZM%+$W#*><%3T(/T->N0S:/\.8M
M0UGQ)<SS?$N[\^:.& (XT^259 KOM;RCNW!B#D@.N$'))\*_AM/X^O)/%7BZ
M2>^TU]\2B>XE$US(H50Q;&6C W#(;.Y,= 10![7X/TG4A9:1K&JZGJ379T>W
MMGL9G945MB,[R(Q):??O!?C@A2,@D[F[3O#FC[KF]^SV,'WKB_O&?;N;C=+*
MQ)Y.!D^@'85H5Y/\2]63Q1XHTGX7V<VQM0E2?4YED7Y($#2>4.&(D(0.,@=$
MZAC@ R_B'H&F>/\ X@^ VT]8[I+VW-S>-ND7-@I1U+ <H&W2*I(7+-C/''M$
M$$-K;Q6]O%'#!$@2..-0JHH&  !P !QBN?\ "GAZYTDZCJ.J3R3ZMJ5P\DV;
MMYXX8A([10Q%@N$17/\ ".6;M@#I* "BBB@ HHKF_%OCG0?!EA+<:I>1F>-%
M=;**5/M$BL^W*1LP)&<DGT4^E '03SPVMO+<7$L<,$2%Y))&"JB@9))/  '.
M:\/^(7QBFU"]7PGX$ECN+N]=+;^T892I61G9#'&6 &3\N)0Q&&XYPPR+^W\;
M_&G5#/ID=WI7@RXN"FZ>X.QE3;F1H]V7.47"J-@8'G.]S[/X-\#Z+X$TM['1
MXI"97WS7,Y#2S'G&X@ 8 .   !R>I)(!S?@CX2:7H6G7,GB2&QU_5[V7S[BZ
MNK?S=I(&5!DSGYBYWX4MD9' KT2""&UMXK>WBCA@B0)''&H544#   X  XQ4
ME% !1110 453U75;'0]+N-3U.YCMK.W3?+*_11_,DG  ')) ')K+\*>+K/QC
M9W%]IMG?1V$<IBAN[F(1I=8)!:,;BQ48ZL!UQU#  '04457^WV?]H_V=]K@^
MW>5Y_P!F\P>9Y>=N_;G.W/&>F: +%%%% !1110 445Q_B[XF^%O!>Z+4K[S;
MY<?Z#:@23?P]1D!.&#?,5R,XS0!V%%%% !117-^-?&>F^!_#\^I7KQR3A";:
MS\Y4DN&R!A0>2 64L0#@<X/0@'%_' ^%K/3M'U7Q%9SZE-;RR16FFQ78@6?>
M%WLY W[5"*<K_$5!X:O#-$L]>^*?BS3]$-W)';QIMB3YW@T^W10/D7)P-JHH
MR<LVW<V3NK<T#PYXI^-GBV;6M3DQ81RHES.6,:1Q[@3# ,-\P4D@<CG+'+9;
MZ7\,>&-+\(:%#I&D0>5;Q\LS<O*YZNY[L<#\@     "GX,\%:1X'T9;+3;>,
M3R(GVNY .ZXD50"QR20,Y(4' W''4YZ2BJ>I:MINC6ZW&J:A:6,#.$62ZF6)
M2V"< L0,X!./8T 7**Y/Q9\1O#G@W2[2_P!0N9)TO4+V:6B>:;A1MR5;(3&'
M4Y+#(Z9KH-*U6QUS2[?4],N8[FSN$WQ2IT8?S!!R"#R""#R* +E%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M16'XE\7:+X3TNZO]5O8T%NBL8$8&5RVX(JIG)+%'QV^5B2 I(^?-6^)'CKXH
MZ[!IGA&"^TU5B\QK6SNP"67=F1IL(57#*-I.W(7N10!ZWXX^,7ASP=');P2Q
MZKJR.%-E;RX"?,0V^0 A"-I^7ELXX .1XQ'JOQ#^-^J3:9#<QPV$:;YHH]T-
MI$.,;\;F<ED!4-N(.2, ''7^%/V<UAN!<>*]3CG1'RMI8%@K@%3\TC '!^8%
M0 >A##I7KFLZQX?^'WA=[NX2"PTVWR(K:VB5-[L2=D:# +$Y/;N20 30!YO<
M>&/ 7P3T*/6+^#^U];/_ !Z?:<%Y91M/[M/NQJK -OP67=C<20#)\$?!]]&;
MOQ]K-S(VH:TDA2'R]GR/(':1A@<LR@J%XVG/.[Y>42TUGX^^-'NI#/8^$-.E
M(B9T3>@(3<BD#YI'VACDL$SU/ ;U?QO\4_#_ ()BN(II?MNIQ;!]@@=0ZEU=
MD+DGY5^3D@$C<IQ\PR =I//#:V\MQ<2QPP1(7DDD8*J*!DDD\  <YKSOQS\8
M]"\(V=H]@T&M75UB1(H+@JAARZF02A64X>,KMSG\J\T\1>)_B#\5K@:?X:L9
M+73_ +$DUS:6>I0R*P<NO[V4;=I93@PL<_+DKZ=WH'P"\(V6G6G]L03W]\(O
M])S=.L9D(3.W8%.U2K;<\X<YSQM .;U+Q_XW\4^/=(L?#D-W9Z7LTV:\6&W-
MPD9F"3;I'558)AMI&Y0PC;D9(&YX4^"]O-JUQXG\;1P7FIWTINVTV,$06TK2
M%R"=Q\SL,'Y?O [^#7JFE:58Z'I=OIFF6T=M9VZ;(HDZ*/YDDY))Y)))R35R
M@"O8V%GIEG'9V%I!:6L>=D,$8C1<DDX4<#))/XU8JGJ6K:;HUNMQJFH6EC S
MA%DNIEB4M@G +$#. 3CV-5]-\2Z#K-PUOI>MZ;?3JA=H[6Z25@N0,D*2<9(&
M?<4 :E%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 45GZSKFE
M^'M.>_U>_@LK5<C?,^-Q )VJ.K-@'"C)..!7SYXR_:$U/4'2#PE#)ID"/N:Z
MN$CDEE&T?+L(94 )/=B<+RO((![/XX^(.B^!=+DGOIXYK\H#;Z>D@$LQ.0#C
MJJ94Y<C P<9. ?G"YU+QW\:?$"6R+)) 'C!AA#I96G#8=^2 <;SDY8\@9X6N
M@TWX+>-_&U^VN>)[Z/3WO',DSW69+@@H"I$2X"CHNTLI4 C:, 'W_P *>$M(
M\%Z,-+T:&2. OYDC22%VDDVJI<YX!(4<  >@% '-^ ?A+H7@79>?\A#65WC[
M?*A7:K<81,D+P,9Y8Y;G!P/0*** "BBB@ HHHH **** "BBB@ HHHH ****
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
MACLK"S3:S*6:*TB+$[FR<-*PP.-N[8. %)'TWH>C6?A[0K+2+!-MK:1+$F0
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
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!115/5=5L=#TNXU/4[F.VL[=-\LK]%'\R2<  <DD <F@"Y7F_C?XO:/X875+
M&PD@O=7M+3SD4S(8?,,HB,3$-N\Q<ERF =JGD=1Y1\1/C%J/C26+1/"@OK;3
M;N(03P&!1/<R,V-@*LQVD;0 N"=S Y! KJ_!'[/MM:QV6I^*+N22\1XY_P"S
MX50Q(0V3'(6#"0$;00,#[PRPP: .$LM'^(7QFM8)YG@N;6VNY@=0N95C6)VC
MBRFQ>0N$3&U/O.Q)Y)'M_@GX1^'?!OV&]\K[9K=KYG_$QW21[MVX?ZO>5&$;
M;^&>M>@44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 445X7\0?CY#8O-I?@\1W%PCM'+J,JAHA\N,PC/SD,?O,-OR\!@V
M: /9-9US2_#VG/?ZO?P65JN1OF?&X@$[5'5FP#A1DG' KYT\2_%[Q7X^UF#0
MO!L%WI\4[F...W<?:+@[LAF<8\L!5!(4X W;F(Z<OX4\ >*_B;?C4VFDEM'N
M/(N]4N[@2,A5%)RI;>Y"E0.W(&0,D?3_ (-\#Z+X$TM['1XI"97WS7,Y#2S'
MG&X@ 8 .   !R>I)(!X9H?[.GB"XO+*36[^QM;%]KW,<$C/.@QDH/DV;L\9W
M$#K\V,'U=]!\2^ _"BZ;X'B@U:&"()!;:E,J/&YF=W?*A1)N$F,%DV^6"-Q8
MBO0** .+\&^+M?UQY+'7?!VI:7>6[^7/<?+]E8A3\R%F#,"RL $#@ J2V#FN
MTHHH **** "BBB@ HHJ.>>&UMY;BXECA@B0O))(P544#)))X  YS0!)5>]O[
M/3+.2\O[N"TM8\;YIY!&BY( RQ.!DD#\:\;\6_M#:19V\L'A6VDO[P.H2YNH
MBEOMQEB!N#D_PX(7G)R0,'QS6-5\4_%KQ:DZV'VN_,20QP64)"0QAL9)).%W
M.268X&[J!@  ]C\:_M!6.E7$^G^%[2/4;B)RC7LS?Z/D$?<"G,@^\,Y49 (W
M UG^#?#GCSXDQR:CXSUW6;/0[FRV0):7"6QN0S'K$J[2A7=DLH+!DQE>G4?#
MCX,6/@VX?4=6EM-6U!DB,.ZV^6T=3N8H6)W'=MP^U2-O&,D5ZI0!3TO2[31K
M!;*R218%=W_>2O*Q9W+L2SDL268G))ZU<HHH **** ,_6];T[PYH\^K:M<?9
M[&#;YDNQGV[F"CA02>2!P*\;^(OQDL=&N(I/!C6EWJ&I64?GZB6\Q88@9/+0
M)GB4-([$,!C(!#9^7T3XGZ;KNL_#_4=,\/0^;?76R,J+@0MY>X%\$\'(&"I(
M!4MR?NGS?X>_ 3[#>)J7C)8)VC\N6WL89=Z;L'<LX*X;!V\*Q4X.<CJ 8'PE
M^%TOBZZ_X2OQ*T\EB95N+?<Z2?;I!*WF>;NW';E"&! +;\YXY^EZ** "J>JZ
MI::+I=QJ5^\B6ELF^5TB>0JO<[4!.!U)QP 2> :N5YO\:=:BT#P0UT]M/<27
M?FZ:@2\>%$\Z&0%V0?+)C;P&'&<@@T <W\.POBOXMZQXJO\ 1(X;DV5K=PNM
MZSFQ,D.Q4884.98OWF<$*, X8D#VRO!_AMXP\-^ ?@L]^VH076IR2RW,FF"[
MC$QD+B)5"_>5=J(Q."0"QYX%<IXL^/FOZXEHFAPR:$(G+S;)EF,Q#*R<F,$
M%3D=&#$'(X(!]!^+_%^E^#-"N-0U"Y@698G>VM7EVO<N,811@D\E02 =N<GB
MO!)?%7C?XQ>*H(M%TV--)LGADFT^:4M:$;U.;D_+YH++G;C.U3M7(8G4T3X-
M^*?&VHP:]X^U:>.&XB9S#YA-VF22J;64I$N6+;1G'W=JDG;[OHVAZ7X>TY+#
M2+""RM5P=D*8W$ #<QZLV ,L<DXY- ''Z9\*=+_MB75_$KP:[>#$=I$UMY5I
M9P*I588X-S+M&3USV/#98^@444 %%%% !1110 5E^(M?L?"WA^\UK4FD%I:H
M&?RUW,Q)"JH'J6('.!SR0.:U*\/_ &D]3\KP[H>D^3G[3=O<^;N^[Y2;=N,<
MY\[.<\;>^> #S#4]3\4_&OQS%;V\/J+>V#'R;*'(W.S8^FYL98X 'W5'TWX,
M\%:1X'T9;+3;>,3R(GVNY .ZXD50"QR20,Y(4' W''4YXOX,^'[/P3\.CKVK
MW$%G)JNRYFFGE")'#TA4L6V\[BV>#^\VGD5V%C\1?".I^)(_#]AK<%WJ4F=B
M0*\B-A"YQ( 4.%!_B[8Z\4 2>*_'?ASP9;E]9U&..<INCM(_GGDX;&$'(!*D
M;CA<\$BK&N>'5\2&2QU66.?09;?9-IXC9&DE$BNLAE5@0%V8"@#[Q))X P]1
M^&&C^(-=T?6_$<\^IW^GVD=O(K*B07+)N.]XP.[,3M#;>@((R#W% &?HVAZ7
MX>TY+#2+""RM5P=D*8W$ #<QZLV ,L<DXY-:%%% !7)Z@/';^++>*SDT:+PV
M]Q&7F5'>[2-5WN&#$)AF4QY&2 X.,@D=910!7L[&WT^!H;6/RXVEDF(W$Y>1
MVD<\^K,Q]L\<58HHH **** "O _C9XHN=>\2Z?\ #C2I(XS/<0"ZE=W4&60_
MNXVP,% &1R?FY*XP5.??*\+^(WPI\5W_ (]G\9^&;BTFG#V\\5NS!)4EC"J-
MN\;& V!OF([C!QR >F?#_P '6_@;PE;:3%\UPV)KR0.6$DY4!RN0,+\H X'
M&><D]15/29+Z;1K&75(8X-0>WC:ZBC.524J-ZCD\!LCJ?J:N4 <O\1M3O-'^
M'6O7UA#/)=):,J&!BKQ[OE,@(!(V!B^?]GJ.H^6/ 'C#2_!>HSW]]X9@UJZ.
MPVKS3[/LQ4DEE!1AN)VX;@C;P>37V?7+ZS\.?!VO[SJ/AVQ>1Y3,\T,?DR.Y
MSDL\>UFSDDY/)YZT >0)^T)XDU;7;6WT3PI!+&^-]FIDN)Y<9+;&4#'RC^XV
M,$\CBO3[SP1I?CN\T#Q/XAMKY)H+2.0://)F"-V&Y@Z%02P) /3.Q01@8KK-
M-TG3=&MVM]+T^TL8&<NT=K"L2EL 9(4 9P ,^PJY0!3TW2=-T:W:WTO3[2Q@
M9R[1VL*Q*6P!DA0!G  S["J_B/6H?#GAK4M9G\LI9V[RA'D$8D8#Y4W'H6;"
MC@\D<&M2J]_8V^IZ=<V%Y'YEK=1-#,FXC<C AAD<C()Z4 ?%FM:_XF^(?B#?
M<M=ZC=RN[6]E;JSK$,9*Q1C.!M49QR=N22<FOHOP;\,Y[?PWI-CXD2Q6S@B,
MDVD6BRJDMP7C827+^:5G8>6!M*[!N(&5"UVGAKP?H'@^WG@T'38[-+AP\I#L
M[.0,#+,2<#G S@9/J<[E !7B</[.>D+XE-[/J\CZ3]H:4::D!4^7DE8_-+DX
M' )QD@'D$Y'ME% $<$$-K;Q6]O%'#!$@2..-0JHH&  !P !QBI*** "N7\3?
M#SPMXNBF_M328#=2\F]A41SA@I53O'+8'0-E>!D'%=17)_$2P\5ZCX5D@\'W
MT=IJ&\F0LP5I(MC@HC$':Y8KALKC'WA0!\V>(]/N/@_\48VT348+N2TQ/ 7
M=D1P08IE&,,5)!QC*L&&TD8^K]"U/^V_#NF:MY/D_;K2*Y\K=NV;T#;<X&<9
MQG KP_P]^SU?S:ZU_P",=8@NH?-\V2*U>1WNB<EM\C!2N3C)&2<GE3@U[Y!!
M#:V\5O;Q1PP1($CCC4*J*!@  <  <8H DHHHH **** "BBB@ HHHH **** "
MBBN'^*_C&X\$^!IK^QXO[B5;6U<H'6-V!)8@GLJMCK\VW((S0!'XY^*%CX*U
MG2]'&G7>I:A?.C&WMA\R1,Q4,O'SN6!"H.N#DKQGM/M]G_:/]G?:X/MWE>?]
MF\P>9Y>=N_;G.W/&>F:\?^$WP_M=7T*S\7^++:>]UV:[%Y:7=S<S^:L:;1$6
M!(!Y0L,Y!4KSC@=)XX^*GAGP5')/;FTU36G<6SVUK,N]1&QR)7 )0*6; (SE
MC@?>( -3Q)%XIU73KF*WU&Q\,:8UH7FOY6,UW%PI88!6.+:/,!<._0$8ZCPC
MQ;X+\!:9H4EV?B+_ &EXAE\Z<O&!<I=.,G:0A8QLQ*C>[G/S''IGZMXL\=?%
M_79=)TY)VM9-TD>EVT@2)(QM/[QC@-@JIW.<;C\H&0*]3\"_ _0$\)VS>+=%
MDDUIW=IU:\;$8W$*J^4P7&T ]SECSV !\Z)H>J2:$VMQV$\FF)*89+I$W)&X
MV<,1]W_6)C.,YP,X-=I\(/!6F>-?$LT&HW<8%FBSM8O#(PNHL[7^='4H5)3'
M)Y8<$ @_59T:SBT*;2+!/[,M7B>)/L $)AWYRT>!A6R20<=>:^6/@5>W%I\6
M--A@DV1W<4\,XV@[T$;2 <]/F13QZ>F: /JNSTG3=.N+JXLM/M+:>[??<R0P
MJC3-DG+D#+'+$Y/J?6KE%5[^]M],TZYO[R3R[6UB::9]I.U%!+' Y. #TH L
M5EZ_XBTCPMI;:EK5]':6@<)O8%BS'H%502QZG !X!/0&O*[SX]6%_IRIH^GW
MRW5SJ$=G"@\M[DQ$*9)$B!8>8"=J*WRL64@MAT'H%UHMYXR\.P6WB.&?2-TJ
MRS6>G:D6\V/9AH9G"+E3N8,JY' (:@#R2?7?'?QQMY;7P];QZ!HMNA2Z>2[?
M;<R,,&,NJ98;6^X%QSEB<H*[?0?@CX7T;Q FM.DDT\+Q26UO&[I!!(@0[P"S
M.3O5FPSD /C!QD^B6%C;Z9IUM86<?EVMK$D,*;B=J* %&3R< #K5B@#@_%'Q
M0L=&O7TK0].N_$NM(C/)9Z:/,$ 5PC>:RABASGC:2" #MR"?/_$GPB\5>-M+
MT?5VUR1M0N4DNKRTU2:5(K-I=KB*"/:Y0+RI!/\ "O3H/<--TG3=&MVM]+T^
MTL8&<NT=K"L2EL 9(4 9P ,^PJY0!P>@?"G0-*LEAU&&/4B+@W @962T1MGE
MKMMBS(2$ &]][DY8L2>.\HHH *^4/CUK-GJ_Q*:*S?S/[/M$LYG!!4R!G=@"
M">F\*<X(96&.*^@_B7K]]X7^'>KZQIC1K>0)&L3NNX(7D5-V.A(#$C.1D#((
MXKP#X(>![GQ#XLM]>EBC.EZ3<*[^874R2[69-A P2K!&8$C@CKG% 'T?X,@F
MM? GAZWN(I(9XM,MDDCD4JR,(E!!!Y!!XQ6Y4<\\-K;RW%Q+'#!$A>221@JH
MH&223P !SFO"[KQ=>_%3QEK'@S3]5OM+TUHI+:.2PACNH9A'(Q:>63Y66-T"
MH%4D$N,G!(8 ]XHJG!#8Z%HT4"&.UT^PMPBF23Y8HD7'+,>@4=2>W->=Z/\
M&#_A(_B*_A;1-"^U6L<KJ^I&[^01I]Z3"HPVD\*=V&W+RN[@ ]0KR_Q#\9+>
MTUT:1X3T2?Q7<)%YMPVGREDC'&,%$?=U&2.!D#).0/0-5TK^U/L7^GWUG]EN
MX[K_ $2;R_.VY_=R<'=&<\KWP*DTS2K'1K*.ST^VCMX$1$"KU(1%1=Q/+$*B
MKDDG"CTH X.UOOC#J'GS?V3X4TN/S6$5O?2RRR!.H):)BIZXSQD@\ 8K0A\5
M:GX4L[FZ^(^I^'+*-MOV,::9B\F#A_D?+-C<GW0<9)/%:GC7QGIO@?P_/J5Z
M\<DX0FVL_.5)+AL@84'D@%E+$ X'.#T/CFF>%/$OQO?3=?\ $=S_ &?I$$3K
M&T+*_P!H)N'+".//[K"@1[FR3Y:'Y\G !7U#XM>)/B3>6'AKPW_Q()[V4J[H
M\CN-HW B:,;E4\Y C&W:"7VLP7M_"WP^\>:!X[M+Z_\ &L^K:%#OWQ3W<^^7
M,3 9B.Y>'(/WCTSUXKM/"G@3PYX+MPFC:=''.4VR7<GSSR<+G+GD E0=HPN>
M0!6AX@\0:;X8T:?5-4N(X8(D8JK.JM*P4ML3<0&<A3@9YH T)YX;6WEN+B6.
M&")"\DDC!510,DDG@ #G->%_$WXEWFL^(=-\&>"=8@3[9+#'-J5K.?\ 6.^%
MC61>BC*EF7).=O&&!XSQ[\4=7^)M[:^'=&M)+33Y[A8H[8RC?=R%\1^8> H^
M[\N2 >23@$>O_#?X0Z9X.M[/4=1ACN/$D+R,;J*>0QH&!0*B_*"-AYW*3DGG
MI@ [S0K6\L/#NF6>HW'VB^@M(HKB;>7\R14 9MS<G)!.3R:T*CGGAM;>6XN)
M8X8(D+R22,%5% R22>  .<UX!XS^,]WXCN&TCP9?1Z59QH[7>J7DB0LZ9*GR
M@<MC!W#:#*>-J@J<@'L\_C/PK:W$MO<>)=&AGB<I)')?Q*R,#@@@MD$'C%7#
MJ]G/H4VK6%Y8W-JL3R)<&Y @.W.=THW!5!!!;!Q@\<5XOX6^ J:@MIJGC&2^
M6^??+>VYNUD,TIE8_,R@X4H 20Y9C(>4V_-[)I?AW2-&\/KH-E8QKI:HZ?9I
M"95*N26!WDD@ECP<]: .'\:?%[3-)\/ZE-X8FCU?4+-X5=XH))K6$.1AI)5P
MF",@8;.X@8X..;^%/QBUCQ9XM_L/7A8HL\4TEL\,#J[2!MX3.X@*$WXR,_(,
MDGK3^.?CMM'MU\"Z(L=K$;>(W,EK*J[(B''V8H!\@*A&X(RI Q@\['P%\"MH
M>C3>(]1M9(M0U! MLQF5E-HRHZL IX+-UW<C:.!SD ]DHHJGJNJV.AZ7<:GJ
M=S';6=NF^65^BC^9).  .22 .30 :EJVFZ-;K<:IJ%I8P,X19+J98E+8)P"Q
M S@$X]C1;:K8WUO;7-E<QW=O<N4BGM?WL9(#9RZY 'RD9) S@=2 ?!&M[#XS
M_$>6*73?%<.FQQ),9IKZ...T1H5*E86C8+YA52,.=P._H#CU-UMOA3X M+73
MK#4M6M+6X2$1HR-/B:;DX^7<=SX"J,DE1P,L #M**** "BBB@ HHHH ****
M"BBB@ HHKROXK?%M?!#P:9HQM+K6BX>XBG1G2&(J<;MK*0Y.T@<\9)QE<@&A
M\1OBSI'@>WN+*W>.\\0!%\NS )6/<"0TK#@  9VYW'*] =P\@BC\=_'C5('F
M$=GH]LZ0SR1%UM8F&YMXC9SOEVL1\O8J"5!S7#Z!JND7/BQ=3\<MJ6JVA0F9
M5<R2SMMVH&<R*0!P<Y/W0,8/'T?X7^-/@35733899-%2)%2!+Z)(8MH4\*RL
M40 *!ABO4 9H W/!'PU\/^ ?M,FE)/-=7'#W5VRO($X^0$* %R,\#DXR3@8[
M"N?_ .$[\'_]#7H?_@QA_P#BJT-,UW1];\W^R=5L;_R<>9]DN$EV9SC.TG&<
M'KZ&@#0HHHH **** "BBB@ HHHH ***PY/&&@1>+(?"[:E&=:E3>MJJ,Q VE
M_F8#:IVJ3@D'&#W&0#<HHHH **X?XD_$5/AWIUC<G3?M\EW*T:Q_:EAVA1DG
MD%CU'12!GD@E0USX>>.(?B!X:;5HK&2R>*X:WEA:0. P"ME6P,C:R]0.<CMD
M@'6445P_C[XG:/X%TYVW0:AJ:RI%_9T5TBR+N&[<XY95VCKM.25'?( .XHKR
M_P"''Q@_X6#XAN-)_L+[!Y-HUSYOVOS<X=%VXV+_ '\YSVKU"@ HHHH ***C
MGGAM;>6XN)8X8(D+R22,%5% R22>  .<T 25R_C'Q_X?\#V?FZM=;KAMICLH
M"K3R DC<$)&%^5OF) XQG. ?&/BE\;+C4)9-#\)W$]G;PRLMQJ$4@#S%6( B
M9"<1G .X'+9 X&=V7X'^$OB/QU<6FK^)IKN'19$9UFEN?](F5S(^8PP; ,AW
M$L!N#EAG.: +&N>,/&GQKMY-&\/Z')!9V[^=<Q17*[77"A%D=]H)#"1@,C.1
M\I,>ZNW^'_P(L?#]Q_:/B>2TU:[V%4M!%NMXB206.X?O#MQC*@*2>"<$>N6%
MC;Z9IUM86<?EVMK$D,*;B=J* %&3R< #K5B@".""&UMXK>WBCA@B0)''&H54
M4#   X  XQ4E%9>M>(]%\.6_GZSJEI8H4=T$TH5I HRVQ>KD9'"@GD>M &I1
M7+^%/B%X:\:2W$.BW_FW%ODO!)&T;[ Q4. >JG /'3<NX*3BNHH **** "BB
MB@ HK'\0^*M"\*68NM<U."RC;[@<DO)@@':@RS8W#. <9R>*\,\<?M!-J>ER
M:=X4M+NQ,Z!9+ZX95E0<[E15) .-OS[LC)P <, #U?QK\3O#G@FWG2ZNX[G5
M$0F/3H6S(S8! <C(C!# Y;J,D!L8KYH\:_$[Q'XVN)TNKN2VTMW)CTZ%L1JN
M00'(P9""H.6Z') 7.*L>$OAEXK\?W$6IB.1-/N[AO/U2Z<')SEW"D[Y#G(R.
M"V02,$CW_P &?!WP]X.N%NP\FI7>Q"6O((65)5((DB^3?&<YP QZ\Y(! !X9
MX.^"WBGQ/>?Z?:SZ)8+N#W%Y 0^X 8"Q$JS9R.>%X;G(P?IOPOX1T7P=I:6&
MC64<("*LLY4&6<C)W2/C+'+-[#.  .*W** "BBB@ HHHH **** "BBB@ HHH
MH *Y/XA>!X?'_AI=)EOI+)X[A+B*98PX# ,N&7(R-K-T(YP>V#UE% 'SY9?L
MU3?VI(+_ ,21G3T>,QF"V(EF7^,$$XC/8'+^I Z5ZOX2^''AGP9;Q+IVGQRW
M<;LXO[I%>XRPP</M&T;>,+@8SW))ZRB@ HHHH **** "BBB@ HHHH *\[^+'
MPWF^(6EV)L;R.WU"P=S")\^5(K[=X8@$@_*"",]"".<CT2B@#Y0T;X"^-M0U
M%(=1M8-+M>"]Q-/'+@9 (58V)+8)(!P#CJ*]C\ _!C1?!EQ)?7DL>LZAO4P3
M36P5;< @@HA+8?<,[\Y& !CG/IE% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
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
M\V[;QG.*P]7U+QVSZI<;=&\.Z#9I.&O;@/>W7EHK$7"1H0F",'8V2"#D-P"
M=Y7)^*/B3X4\(.\&JZK']L5&;[' #++D*&"D+PA((QO*@YZXR:\$^(/Q"?Q+
M%?>&-&O[[68;_55NXKE8VB!0KM2T2'JRJ=AW'&YP3MS\QZ#P7^SU<3?9;_Q;
M=?9U64F32X<,SH.@:56PN3U"Y^7N"?E .G/Q_P!'U.*:S\/Z'KEWJ\D3_9(3
M:)(&D"DC<J2%BHQDXYP#7/R_"_QC\5+QO$7C"\@T&;RHXK2UCM?,(BP6Y7>"
MG+$X8ELE@0H %>T:-X4\/^'MATC1K&RD6(0^=# HD9!CAGQN;H"<DY(R>:V*
M .'\"_"[0O <HO+)IY]2>T%M/<R.0'^;<S!.BY.T8YP$7ON+=Q14<\\-K;RW
M%Q+'#!$A>221@JHH&223P !SF@"2BLN?7[%/#\NM6;2:I:*A:/\ LQ?M+3$'
M;M0)G<=W'H.<D $CROXUP:Q<^%[XZIXFTK2;%)2]EI<0=I-052@&]\@E@23L
M5"JDKN8XW* =9JOQD\!Z2]Q$^NQW,\*;O+M(GF$AVY"JZC82>GWL \$C!KRC
M5?V@_$VI:I<6?AS2[2."X?R;+? TMUD_*IP&VER>0NTC) ^;J?/_  ;\.?$?
MCIW;2+:-;2)]DMY</LB1MI.,X)8].%!QN7. <U]+^"?A1X<\(6$ DLK34M41
MP[:A-;_-N5RR%%8L(R 0,J1G:": /%+/X6?$+XAZZ=9\01?8/M>TSWEZBQN0
MF(\"%0&#;1D A0<=>03ZGX2^!'AGP[<17FHR2:U=HC*4NHE%N23PPBP>0O'S
M,PSDX!QCU2B@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH \O^,NB^-M?T[3;#PDL[VK^<-02&YCAW@A0BL692RD&3*]#W'2N
M7\-?#?XDV_AW_A&FU>Q\/Z;#J$DWVVQ=_M<HV$ @QE0\;$C[Y#C [*JU[Q10
M!3TS3ETRRCMEN;NY*HBM-=3M*[E45-Q)X!(4$X !))QDDFY110!'/!#=6\MO
M<11S02H4DCD4,KJ1@@@\$$<8H@@AM;>*WMXHX8(D"1QQJ%5% P  .  .,5)1
M0 4444 >7Z#\%+#PY/>2:7XI\1V:W'R[;:XCCRFS;A_D(9@6<AL#;N&,$;CZ
M9!"MM;Q0(9"D:!%,DC.Q &.68DL?<DD]ZDHH **** .7\?\ @ZW\<>$KG29?
MEN%S-9R%RHCG"L$+8!ROS$'@\$XYP1XA8_ #QYIEY'>6&N:5:74>=DT%W/&Z
MY!!PPCR,@D?C7TO10!X7X7_9SL8$2?Q1J<EU.'5OLUB=D6 QRK.PW,&&WH$(
MYY/!KW 0JMP\X,F]T5"#(Q7"DD87. ?F.2!D\9S@8DHH *IZMIL.LZ-?:7<-
M(L%[;R6\C1D!@KJ5)&01G!]#5RB@#R>Q_9Z\%6EY'/-+JM[&N<P3W"A'R".2
MB*W'7@CIZ<5Z9I6EVFBZ7;Z;8)(EI;)LB1Y7D*KV&YR3@= ,\# ' JY10 5Q
M_P 1_'/_  K[P[;ZM_9WV_SKM;;RO/\ *QE';=G:W]S&,=Z["J]U86=]Y'VR
MT@N/(E6>'SHP_ER+]UUST89.".10!S?@[Q/J_BPW-[/H,FDZ7&\D5O\ :9 T
M]PRR,AW*"#"4*,&5@<EA@_*=VYK>B:=XCT>?2=6M_M%C/M\R+>R;MK!ARI!'
M(!X-:%<OXZ\=:7X#T(W]^?-N),K:6B-A[AQV'HHR,MVR.I(! ,?Q_P"-=+^%
M?A>"'3M.@2ZN-Z:?90Q>7"I!R[L%P H+ D#EBW;EAY9X"\,:E\8O%EUXN\6O
M'<:3 [0&W#LH=MN5BC"L"B)O#9SR3_$68C0\.^!]7^+>I:1XS\77T<VFSI./
MLUK&(]D<<N(X200V&9I3GYB%09;+ K[W8V%GIEG'9V%I!:6L>=D,$8C1<DDX
M4<#))/XT %A8V^F:=;6%G'Y=K:Q)#"FXG:B@!1D\G  ZU8HHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "N'C^'?VZ
M\UB3Q+K,^M6NJ6EI;SVAC\A-T !W@JV5R^YPJE5&]LAN".XHH C@@AM;>*WM
MXHX8(D"1QQJ%5% P  .  .,5)110 4444 %%%% !1110 4444 %%%% !1110
#!__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<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="idm139865946534784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Mar. 24, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">UTAH MEDICAL PRODUCTS INC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000706698<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">UTMD<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">87-0342734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,627,992<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 335,723,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-Known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-12575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">UT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">7043 South 300 West<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Midvale<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">UT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" 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">84047<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">801<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">566-1200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, $0.01 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference</a></td>
<td class="text">The Company&#8217;s definitive proxy statement for the Annual Meeting of Stockholders is incorporated by reference into Part III, Item 10, 11, 12, 13 and 14 of this Form 10-K.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Haynie &amp; Company<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Salt Lake City, Utah<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">457<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 whether any of the financial statement period in the filing include a restatement</p></div>
<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-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<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-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentsIncorporatedByReferenceTextBlock</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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<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="idm139865946573056">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash</a></td>
<td class="nump">$ 75,052<span></span>
</td>
<td class="nump">$ 60,974<span></span>
</td>
</tr>
<tr class="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 and other receivables, net (note 2)</a></td>
<td class="nump">5,538<span></span>
</td>
<td class="nump">5,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_InventoryNet', window );">Inventories (note 2)</a></td>
<td class="nump">8,814<span></span>
</td>
<td class="nump">6,596<span></span>
</td>
</tr>
<tr class="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 );">Prepaid expenses and other current assets</a></td>
<td class="nump">515<span></span>
</td>
<td class="nump">456<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">89,919<span></span>
</td>
<td class="nump">73,158<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">10,224<span></span>
</td>
<td class="nump">10,618<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">13,354<span></span>
</td>
<td class="nump">14,098<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Other intangible assets (note 2)</a></td>
<td class="nump">$ 52,755<span></span>
</td>
<td class="nump">$ 56,314<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Right-of-Use Asset, Statement of Financial Position</a></td>
<td class="text">Other intangible assets (note 2)<span></span>
</td>
<td class="text">Other intangible assets (note 2)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Other intangible assets - accumulated amortization</a></td>
<td class="num">$ (42,378)<span></span>
</td>
<td class="num">$ (38,552)<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_IntangibleAssetsNetExcludingGoodwill', window );">Other intangible assets, net (note 2)</a></td>
<td class="nump">10,377<span></span>
</td>
<td class="nump">17,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_Assets', window );">Total assets</a></td>
<td class="nump">123,874<span></span>
</td>
<td class="nump">115,636<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current 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_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">1,218<span></span>
</td>
<td class="nump">761<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses (note 2)</a></td>
<td class="nump">$ 4,742<span></span>
</td>
<td class="nump">2,984<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position</a></td>
<td class="text">Accrued expenses (note 2)<span></span>
</td>
<td class="text">&#160;<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">$ 5,960<span></span>
</td>
<td class="nump">3,745<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long term lease liability</a></td>
<td class="nump">341<span></span>
</td>
<td class="nump">396<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent', window );">Long term income tax payable (REPAT tax) (note 7)</a></td>
<td class="nump">1,256<span></span>
</td>
<td class="nump">1,675<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Deferred tax liability - intangible assets</a></td>
<td class="nump">1,514<span></span>
</td>
<td class="nump">2,105<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes (note 7)</a></td>
<td class="nump">549<span></span>
</td>
<td class="nump">577<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_Liabilities', window );">Total liabilities</a></td>
<td class="nump">9,620<span></span>
</td>
<td class="nump">8,498<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (notes 6 and 12)</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_StockholdersEquityAbstract', window );"><strong>Stockholders' equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $.01 par value; 50,000 shares authorized, issued 3,628 shares in 2022 and 3,655 shares in 2021</a></td>
<td class="nump">36<span></span>
</td>
<td class="nump">37<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(12,039)<span></span>
</td>
<td class="num">(9,054)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">251<span></span>
</td>
<td class="nump">841<span></span>
</td>
</tr>
<tr class="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">126,006<span></span>
</td>
<td class="nump">115,314<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">114,254<span></span>
</td>
<td class="nump">107,138<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 123,874<span></span>
</td>
<td class="nump">$ 115,636<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of increase (decrease) in accumulated equity from transactions and other events and circumstances from non-owner sources, including portion attributable to noncontrolling interest. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners (distributions to owners).</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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</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_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes operating lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</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_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax liability from transition tax on accumulated earnings of controlled foreign corporation deemed repatriated pursuant to Tax Cuts and Jobs Act, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<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="idm139865946410368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>UTAH MEDICAL PRODUCTS, INC. 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_CommonStockParOrStatedValuePerShare', window );">Common Stock, Par or Stated Value Per Share</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common Stock, Shares Authorized</a></td>
<td class="nump">50,000<span></span>
</td>
<td class="nump">50,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">3,628<span></span>
</td>
<td class="nump">3,655<span></span>
</td>
</tr>
<tr class="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">3,628<span></span>
</td>
<td class="nump">3,655<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>20
<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="idm139865946381472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="nump">$ 52,281<span></span>
</td>
<td class="nump">$ 49,054<span></span>
</td>
<td class="nump">$ 42,178<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of goods sold</a></td>
<td class="nump">20,085<span></span>
</td>
<td class="nump">18,137<span></span>
</td>
<td class="nump">16,630<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">32,196<span></span>
</td>
<td class="nump">30,917<span></span>
</td>
<td class="nump">25,548<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">1,507<span></span>
</td>
<td class="nump">1,414<span></span>
</td>
<td class="nump">1,554<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">493<span></span>
</td>
<td class="nump">526<span></span>
</td>
<td class="nump">486<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">10,406<span></span>
</td>
<td class="nump">10,097<span></span>
</td>
<td class="nump">9,800<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">19,790<span></span>
</td>
<td class="nump">18,880<span></span>
</td>
<td class="nump">13,708<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInterestAndDividendIncome', window );">Dividend and interest income</a></td>
<td class="nump">661<span></span>
</td>
<td class="nump">166<span></span>
</td>
<td class="nump">112<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RoyaltyIncomeNonoperating', window );">Royalty income (note 12)</a></td>
<td class="nump">20<span></span>
</td>
<td class="nump">15<span></span>
</td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="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, net</a></td>
<td class="nump">188<span></span>
</td>
<td class="nump">0<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">20,659<span></span>
</td>
<td class="nump">19,061<span></span>
</td>
<td class="nump">13,840<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes (note 7)</a></td>
<td class="nump">4,186<span></span>
</td>
<td class="nump">4,273<span></span>
</td>
<td class="nump">3,042<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_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 16,473<span></span>
</td>
<td class="nump">$ 14,788<span></span>
</td>
<td class="nump">$ 10,798<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Earnings per common share (basic) (note 1)</a></td>
<td class="nump">$ 4.53<span></span>
</td>
<td class="nump">$ 4.05<span></span>
</td>
<td class="nump">$ 2.95<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings per common share (diluted) (note 1)</a></td>
<td class="nump">$ 4.52<span></span>
</td>
<td class="nump">$ 4.04<span></span>
</td>
<td class="nump">$ 2.94<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive income (loss)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation net of taxes of $0 in all periods</a></td>
<td class="num">$ (2,986)<span></span>
</td>
<td class="num">$ (773)<span></span>
</td>
<td class="nump">$ 1,502<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Total comprehensive income</a></td>
<td class="nump">$ 13,487<span></span>
</td>
<td class="nump">$ 14,015<span></span>
</td>
<td class="nump">$ 12,300<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_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInterestAndDividendIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 discount, accretion and premium amortization, of interest income and dividend income classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherInterestAndDividendIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RoyaltyIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RoyaltyIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<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="idm139865946461664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - Parenthetical - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax', window );">Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32262-110900<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e640-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=125521441&amp;loc=d3e30755-110894<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>22
<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="idm139865946184528">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-In Capitol</div></th>
<th class="th"><div>Comprehensive Income</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Equity Balance, value at Dec. 31, 2019</a></td>
<td class="nump">$ 37<span></span>
</td>
<td class="nump">$ 18<span></span>
</td>
<td class="num">$ (9,782)<span></span>
</td>
<td class="nump">$ 110,820<span></span>
</td>
<td class="nump">$ 101,093<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Equity Balance, shares at Dec. 31, 2019</a></td>
<td class="nump">3,722<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">358<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">358<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options, shares</a></td>
<td class="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">160<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">160<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Common stock purchased and retired</a></td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">(421)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(6,555)<span></span>
</td>
<td class="num">(6,976)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Common stock purchased and retired, shares</a></td>
<td class="num">(87)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,502<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,502<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Common stock dividends</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,112)<span></span>
</td>
<td class="num">(4,112)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">10,798<span></span>
</td>
<td class="nump">10,798<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Equity Balance, value at Dec. 31, 2020</a></td>
<td class="nump">$ 36<span></span>
</td>
<td class="nump">115<span></span>
</td>
<td class="num">(8,280)<span></span>
</td>
<td class="nump">110,951<span></span>
</td>
<td class="nump">102,822<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Equity Balance, shares at Dec. 31, 2020</a></td>
<td class="nump">3,643<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">787<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">787<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options, shares</a></td>
<td class="nump">14<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions', window );">Common stock received and retired upon exercise of stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(227)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(227)<span></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_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares', window );">Common stock received and retired upon exercise of stock options, shares</a></td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">166<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">166<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Common stock purchased and retired</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</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_StockRepurchasedAndRetiredDuringPeriodShares', window );">Common stock purchased and retired, shares</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(773)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(773)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Common stock dividends</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(10,425)<span></span>
</td>
<td class="num">(10,425)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">14,788<span></span>
</td>
<td class="nump">14,788<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Equity Balance, value at Dec. 31, 2021</a></td>
<td class="nump">$ 36<span></span>
</td>
<td class="nump">842<span></span>
</td>
<td class="num">(9,053)<span></span>
</td>
<td class="nump">115,314<span></span>
</td>
<td class="nump">107,138<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Equity Balance, shares at Dec. 31, 2021</a></td>
<td class="nump">3,655<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">211<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">211<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options, shares</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions', window );">Common stock received and retired upon exercise of stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(37)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(37)<span></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_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares', window );">Common stock received and retired upon exercise of stock options, shares</a></td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">183<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">183<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Common stock purchased and retired</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(947)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,548)<span></span>
</td>
<td class="num">(2,495)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Common stock purchased and retired, shares</a></td>
<td class="num">(30)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,986)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,986)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Common stock dividends</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,233)<span></span>
</td>
<td class="num">(4,233)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">16,473<span></span>
</td>
<td class="nump">16,473<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Equity Balance, value at Dec. 31, 2022</a></td>
<td class="nump">$ 36<span></span>
</td>
<td class="nump">$ 252<span></span>
</td>
<td class="num">$ (12,039)<span></span>
</td>
<td class="nump">$ 126,006<span></span>
</td>
<td class="nump">$ 114,255<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Equity Balance, shares at Dec. 31, 2022</a></td>
<td class="nump">3,628<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Common stock received and retired upon exercise of stock options, during the indicated time period.</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_CommonStockReceivedAndRetiredUponExerciseOfStockOptions</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_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Common stock received and retired upon exercise of stock options, shares (number of shares), during the indicated time period.</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_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares</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: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_DividendsCommonStockCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 common stock dividends declared with the form of settlement in cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCommonStockCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 that have been repurchased and retired during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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="idm139865941245984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 16,473<span></span>
</td>
<td class="nump">$ 14,788<span></span>
</td>
<td class="nump">$ 10,798<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">612<span></span>
</td>
<td class="nump">636<span></span>
</td>
<td class="nump">655<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="nump">6,417<span></span>
</td>
<td class="nump">6,645<span></span>
</td>
<td class="nump">6,515<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for losses on accounts receivable</a></td>
<td class="nump">30<span></span>
</td>
<td class="nump">24<span></span>
</td>
<td class="num">(5)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Amortization of operating lease assets</a></td>
<td class="nump">53<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">39<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets', window );">Loss/(Gain) on disposal of assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="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">(401)<span></span>
</td>
<td class="num">(92)<span></span>
</td>
<td class="num">(26)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">183<span></span>
</td>
<td class="nump">166<span></span>
</td>
<td class="nump">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_DeferredTaxExpenseFromStockOptionsExercised', window );">Tax benefit attributable to exercise of stock options</a></td>
<td class="nump">6<span></span>
</td>
<td class="nump">39<span></span>
</td>
<td class="nump">7<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(511)<span></span>
</td>
<td class="num">(1,088)<span></span>
</td>
<td class="nump">617<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherReceivables', window );">Other receivables</a></td>
<td class="num">(14)<span></span>
</td>
<td class="num">(42)<span></span>
</td>
<td class="nump">45<span></span>
</td>
</tr>
<tr class="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">(2,353)<span></span>
</td>
<td class="num">(485)<span></span>
</td>
<td class="nump">924<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(64)<span></span>
</td>
<td class="num">(81)<span></span>
</td>
<td class="nump">108<span></span>
</td>
</tr>
<tr class="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">464<span></span>
</td>
<td class="num">(23)<span></span>
</td>
<td class="num">(308)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">252<span></span>
</td>
<td class="nump">713<span></span>
</td>
<td class="nump">607<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 provided by operating activities</a></td>
<td class="nump">21,147<span></span>
</td>
<td class="nump">21,203<span></span>
</td>
<td class="nump">20,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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Property and equipment</a></td>
<td class="num">(809)<span></span>
</td>
<td class="num">(552)<span></span>
</td>
<td class="num">(860)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Intangible assets</a></td>
<td class="num">(9)<span></span>
</td>
<td class="nump">0<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 (used in) investing activities</a></td>
<td class="num">(818)<span></span>
</td>
<td class="num">(552)<span></span>
</td>
<td class="num">(860)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock - options</a></td>
<td class="nump">174<span></span>
</td>
<td class="nump">560<span></span>
</td>
<td class="nump">358<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Common stock purchased and retired</a></td>
<td class="num">(2,495)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(6,976)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividends', window );">Dividends paid</a></td>
<td class="num">(3,163)<span></span>
</td>
<td class="num">(11,465)<span></span>
</td>
<td class="num">(4,116)<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">(5,484)<span></span>
</td>
<td class="num">(10,905)<span></span>
</td>
<td class="num">(10,734)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash</a></td>
<td class="num">(767)<span></span>
</td>
<td class="num">(362)<span></span>
</td>
<td class="nump">260<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash and cash equivalents</a></td>
<td class="nump">14,078<span></span>
</td>
<td class="nump">9,384<span></span>
</td>
<td class="nump">8,803<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash at beginning of year</a></td>
<td class="nump">60,974<span></span>
</td>
<td class="nump">51,590<span></span>
</td>
<td class="nump">42,787<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash at end of year</a></td>
<td class="nump">75,052<span></span>
</td>
<td class="nump">60,974<span></span>
</td>
<td class="nump">51,590<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Cash paid during the period for income taxes</a></td>
<td class="nump">4,970<span></span>
</td>
<td class="nump">4,617<span></span>
</td>
<td class="nump">3,186<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaid', window );">Cash paid during the period for interest</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxExpenseFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax expense from write-off of the deferred tax asset related to deductible stock options at exercise.</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_DeferredTaxExpenseFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2443-110228<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivables classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InterestPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, including, but not limited to, capitalized interest and payment to settle zero-coupon bond attributable to accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount; classified as operating and investing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<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="idm139866030707520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Note 1 - Summary of Significant Accounting Policies</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 1 &#8211;&#160;Summary of Significant Accounting Policies</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Organization</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Utah Medical Products, Inc. with headquarters in Midvale, Utah and its wholly-owned operating subsidiaries, Femcare Limited located in Romsey, Hampshire, England, Femcare Australia Pty Ltd located in Castle Hill, NSW, Australia, Utah Medical Products Canada, Inc. (dba Femcare Canada) located in Mississauga, Ontario, Canada and Utah Medical Products Ltd., which operates a manufacturing facility in Athlone, Ireland, (in the aggregate, the Company) are in the primary business of developing, manufacturing and globally distributing specialized medical devices for the healthcare industry. &#160;The Company&#8217;s broad range of products includes those used in critical care areas and the labor and delivery departments of hospitals, as well as outpatient clinics and physicians&#8217; offices. &#160;Products are sold directly to end-user facilities in the U.S., Ireland, UK, Canada, France and Australia, and through third party distributors in other outside the U.S. (OUS) markets. &#160;Domestically, until February 1, 2019, Femcare had an exclusive U.S. distribution relationship with CooperSurgical, Inc. (CSI) for the Filshie Clip System. &#160;UTMD also sells subcontract manufactured components and finished products to over 150 companies in the U.S. for their medical and non-medical products.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Use of Estimates in the Preparation of Financial Statements</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities 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;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Principles of Consolidation</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Cash and Cash Equivalents</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Concentration of Credit Risk</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December 31, 2022 except under an extreme global financial crisis.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Accounts Receivable</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. &#160;Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Inventories</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2). </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Property and Equipment</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td colspan="2" style="width:391.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr><td style="width:298.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Building and improvements</p>
</td><td style="width:92.7pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">15 - 40 years</p>
</td></tr>
<tr><td style="width:298.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="width:92.7pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">3 - 10 years</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Long-Lived Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#8220;Accounting for the Impairment of Long-Lived Assets.&#8221; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. &#160;When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Intangible Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from 5 to 20 years. UTMD&#8217;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2022, using the 2022 year-end 1.2077 USD/GBP and 0.6805 USD/AUD currency exchange rates, is about $5,617 in 2023, $1,933 in 2024, $1,933 in 2025, $424 in 2026, and $12 in 2027 (see note 2).</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In 2019, $21,000 in intangible assets were acquired from CSI. &#160;The future amortization expenses on those assets are estimated to be $3,864 in 2023 (see note 15).</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
 <p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Stock-Based Compensation </span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">At December 31, 2022, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, Share-Based Payment. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2022, the Company recognized $183 in stock-based compensation cost compared to $166 in 2021 and $160 in 2020.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Revenue Recognition</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#8217;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#8217;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for other companies. &#160;This revenue is recognized when UTMD&#8217;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. </p>
<p style="font:10pt Times New Roman;margin:0"> &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Income Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company accounts for income taxes under ASC 740, &#8220;Accounting for Income Taxes,&#8221; whereby deferred taxes are computed under the asset and liability method. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company accounts for deferred taxes under ASC 740, &#8220;Accounting for Income Taxes&#8221;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#8217;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2022 or 2021. &#160;In 2020 the Company paid tax penalties of $4. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Legal Costs</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2022 and 2021 was  $204 and $96, respectively (see note 2).</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Earnings per Share</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">The shares (in thousands) used in the computation of the Company&#8217;s basic and diluted earnings per share are reconciled as follows:</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:737.7pt" valign="top"/><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:737.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Weighted average number of shares outstanding &#8211;&#160;basic</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,637</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,647</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,658</p>
</td></tr>
<tr><td style="width:737.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Dilutive effect of stock options</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:737.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Weighted average number of shares outstanding, assuming dilution</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,643</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,660</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,672</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Presentation of Sales and Similar Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2022 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.</p>
<p style="font:10pt Times New Roman;margin:0"> &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Translation of Foreign Currencies</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Assets and liabilities of the Company&#8217;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#8217;s assets and liabilities are reflected as a separate component of stockholders&#8217; equity. &#160;A negative translation impact on stockholders&#8217; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, as applicable.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year. </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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>25
<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="idm139865947984496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">Note 2 - Detail of Certain Balance Sheet Accounts</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 2 &#8211;&#160;Detail of Certain Balance Sheet Accounts</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="4" style="width:272.75pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">December 31,</p>
</td></tr>
<tr><td style="width:801.15pt" valign="top"/><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td></tr>
<tr><td style="width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accounts and other receivables:</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Accounts receivable&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,720</p>
</td><td style="background-color:#CCEEFF;width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,287</p>
</td></tr>
<tr><td style="width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Accrued interest and other&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">51</p>
</td><td style="width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">39</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Less allowance for doubtful accounts&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(182)</p>
</td><td style="background-color:#CCEEFF;width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(156)</p>
</td></tr>
<tr><td style="width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total accounts and other receivables&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,589</p>
</td><td style="width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,170</p>
</td></tr>
</table>
 <p style="font:11pt Times New Roman;margin:0"/>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Inventories:</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">.</p>
</td><td style="width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"/></tr>
<tr><td style="background-color:#CCEEFF;width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Finished products&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,896</p>
</td><td style="background-color:#CCEEFF;width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,468</p>
</td></tr>
<tr><td style="width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Work-in-process&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,193</p>
</td><td style="width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,398</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Raw materials&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,725</p>
</td><td style="background-color:#CCEEFF;width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,730</p>
</td></tr>
<tr><td style="width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total inventories&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,814</p>
</td><td style="width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,596</p>
</td></tr>
</table>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Goodwill:</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.6pt" valign="top"/><td style="width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.6pt" valign="top"/></tr>
<tr><td style="background-color:#CCEEFF;width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Balance as of January 1</p>
</td><td style="background-color:#CCEEFF;width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,098</p>
</td><td style="background-color:#CCEEFF;width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,164</p>
</td></tr>
<tr><td style="width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Effect of foreign exchange&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(744)</p>
</td><td style="width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(66)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Subtractions as a result of impairment&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td></tr>
<tr><td style="width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total Goodwill as of December 31&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,354</p>
</td><td style="width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,098</p>
</td></tr>
</table>
<p style="font:11pt Times New Roman;margin:0"/>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other Identifiable Intangible Assets:</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"/><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"/></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Patents&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,198</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,212</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Non-compete agreements&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">121</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">135</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Trademarks &amp; trade names&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,887</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,930</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Customer relationships&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,635</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,678</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Distribution agreements&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,000</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,000</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/><span style="-sec-ix-hidden:fact5"><span style="-sec-ix-hidden:fact6">Right-of-Use</span></span> Asset&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">395</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">449</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Regulatory approvals &amp; product certifications&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,519</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,910</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total Other Identifiable Intangible Assets&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">52,755</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">56,314</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Accumulated amortization&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(42,378)</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(38,552)</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/> Other Identifiable Intangible Assets, Net&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,377</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">17,762</p>
</td></tr>
</table>
 <p style="font:11pt Times New Roman;margin:0"/>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued expenses:</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"/><td style="width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"/></tr>
<tr><td style="background-color:#CCEEFF;width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Income taxes payable (receivable)&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">337</p>
</td><td style="background-color:#CCEEFF;width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">36</p>
</td></tr>
<tr><td style="width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Payroll and payroll taxes&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,318</p>
</td><td style="width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,225</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Reserve for litigation costs&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">204</p>
</td><td style="background-color:#CCEEFF;width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">96</p>
</td></tr>
<tr><td style="width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Other&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,883</p>
</td><td style="width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,627</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total accrued expenses&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,742</p>
</td><td style="background-color:#CCEEFF;width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,984</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -URI https://asc.fasb.org/topic&amp;trid=2122208<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<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="idm139865950685744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Quarterly Results of Operations (Unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Note 3 - Quarterly Results of Operations (Unaudited)</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 3 &#8211;&#160;Quarterly Results of Operations (Unaudited)</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Unaudited Quarterly Data for 2022</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"/><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">First Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Second Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Third Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,323</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,428</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,955</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,575</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,533</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,151</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,186</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,327</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,534</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,103</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,280</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,555</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.96</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.12</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.18</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.25</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Unaudited Quarterly Data for 2021</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"/><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">First Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Second Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Third Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,964</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,604</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,572</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,914</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,947</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,785</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,073</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,112</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,024</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,426</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,206</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,131</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.83</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.94</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.15</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.13</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Unaudited Quarterly Data for 2020</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"/><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">First Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Second Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Third Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,902</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,787</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,479</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,010</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,836</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,950</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,497</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,265</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,140</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,313</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,933</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,412</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.84</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.36</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.80</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.94</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"/>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -URI https://asc.fasb.org/topic&amp;trid=2126967<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=126900988&amp;loc=SL124452896-108306<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>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="idm139865950679568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Note 4 - Property and Equipment</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 4 &#8211;&#160;Property and Equipment</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Property and equipment consists of the following:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="4" style="width:382.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">December 31,</p>
</td></tr>
<tr><td style="width:645.6pt" valign="top"/><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:154.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:3.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:157.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:154.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,593</p>
</td><td style="background-color:#CCEEFF;width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:157.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,690</p>
</td></tr>
<tr><td style="width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:154.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,601</p>
</td><td style="width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:157.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,172</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:154.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">17,068</p>
</td><td style="background-color:#CCEEFF;width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:157.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,660</p>
</td></tr>
<tr><td style="width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:154.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">906</p>
</td><td style="width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:157.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">898</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Total&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,168</p>
</td><td style="background-color:#CCEEFF;width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,420</p>
</td></tr>
<tr><td style="width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:154.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(22,944)</p>
</td><td style="width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:157.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(22,802)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,224</p>
</td><td style="background-color:#CCEEFF;width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,618</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Included in the Company&#8217;s consolidated balance sheet are the assets of its manufacturing and administrative facilities in Utah, Canada, England, Australia and Ireland. &#160;Property and equipment, by geographic area, are as follows:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:652.15pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Dutch801SWC;margin:0;text-align:center"><span style="font-family:Times New Roman">December 31, 2022</span></p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"/><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp; Canada</p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp; Australia </p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Ireland</p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:118.45pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Total</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">621</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">605</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">367</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,593</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,566</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,043</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,992</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,601</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,950</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">693</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,425</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">17,068</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">412</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">494</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">906</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Total&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">22,549</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,341</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,278</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,168</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(18,369)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(1,229)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3,346)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(22,944)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,180</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,112</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,932</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,224</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:652.1pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Dutch801SWC;margin:0;text-align:center"><span style="font-family:Times New Roman">December 31, 2021</span></p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"/><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp; Canada</p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp; Australia </p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Ireland</p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Total</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">621</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">678</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">391</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,690</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,541</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,384</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,247</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,172</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,608</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">752</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,300</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,660</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">412</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">484</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">898</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Total&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">22,182</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,816</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,422</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,420</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(18,168)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(1,164)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3,470)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(22,802)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,014</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,652</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,952</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,618</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;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_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI https://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<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="idm139865950677568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Long-term Debt<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">Note 5 - Long-term Debt</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 5 &#8211;&#160;Long-term Debt</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">None in 2021 and 2022.</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_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<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="idm139865950650704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Note 6 - Commitments and Contingencies</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"><span style="border-bottom:1px solid #000000">Note 6 &#8211;&#160;Commitments and Contingencies</span></p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Purchase Obligations</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company has obligations to purchase raw materials for use in its manufacturing operations. &#160;The Company has the right to make changes in, among other things, purchase quantities, delivery schedules and order acceptance.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Product Liability</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company is self-insured for product liability risk. &#8220;Product liability&#8221; is an insurance industry term for the cost of legal defense and damages awarded to patients allegedly injured as a result of use of a company&#8217;s product. &#160;The Company maintains a reserve to cover product liability litigation expenses and possible damages consistent with its experience going back decades. Although actual product liability litigation expense at $670 was substantially higher in 2022 relative to history, costs during the prior two reporting years were immaterial. There were no product liability damages in any of the three reporting years, which is consistent with the Company&#8217;s long-term history. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company absorbs the costs of clinical training and trouble-shooting in its on-going operating expenses.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Warranty Reserve</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company&#8217;s published warranty is: &#8220;UTMD warrants its products to conform in all material respects to all published product specifications in effect on the date of shipment, and to be free from defects in material and workmanship for a period of thirty (30) days for supplies, or twenty-four (24) months for equipment, from date of shipment. &#160;During the warranty period UTMD shall, at its option, replace any products shown to UTMD's reasonable satisfaction to be defective at no expense to the Purchaser or refund the purchase price.&#8221; </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">UTMD maintains a warranty reserve to provide for estimated costs which are likely to occur. The amount of this reserve is adjusted, as required, to reflect its actual experience. Based on its analysis of historical warranty claims and its estimate that existing warranty obligations are immaterial, no warranty reserve was made at December 31, 2022 or December 31, 2021. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Litigation</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of a medical device business. &#160;Presently, except for the Filshie clip lawsuits by a single U.S. law firm, there is no litigation or threatened litigation. &#160;The Company does not expect the outcome of the Filshie clip litigation will be material to consolidated financial results. The Company applies its accounting policy to accrue legal costs that can be reasonably estimated. </p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<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="idm139865950601216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Note 7 - Income Taxes</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 7 &#8211;&#160;Income Taxes &#160;</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Deferred tax assets (liabilities) consist of the following temporary differences:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:99.98%"><tr><td style="width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="7" style="width:465.45pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">December 31,</p>
</td></tr>
<tr><td style="width:608.3pt" valign="top"/><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:85.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:21.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Inventory write-downs and differences due to UNICAP</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">103</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">88</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">86</p>
</td></tr>
<tr><td style="width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Allowance for doubtful accounts</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">39</p>
</td><td style="width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">31</p>
</td><td style="width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">32</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued liabilities and reserves</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">90</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">58</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">68</p>
</td></tr>
<tr><td style="width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Depreciation and amortization</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,295)</p>
</td><td style="width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,859)</p>
</td><td style="width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3,034)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Deferred income taxes, net</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,063)</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,682)</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,848)</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The components of income tax expense are as follows:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:609.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:464.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years ended December 31,</p>
</td></tr>
<tr><td style="width:609.4pt" valign="top"/><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:609.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Current</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,632</p>
</td><td style="background-color:#CCEEFF;width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,983</p>
</td><td style="background-color:#CCEEFF;width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,253</p>
</td></tr>
<tr><td style="width:609.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Deferred</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(446)</p>
</td><td style="width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">290</p>
</td><td style="width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(211)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:609.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,186</p>
</td><td style="background-color:#CCEEFF;width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,273</p>
</td><td style="background-color:#CCEEFF;width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,042</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Income tax expense differed from amounts computed by applying the statutory federal rate to pretax income as follows:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:461.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years ended December 31,</p>
</td></tr>
<tr><td style="width:612pt" valign="top"/><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Federal income tax expense at the statutory rate</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,620</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,520</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,915</p>
</td></tr>
<tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">State income taxes</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">490</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">448</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">369</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign income taxes (blended rate)</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,129</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,010</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">550</p>
</td></tr>
<tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">R&amp;D tax credits and manufacturing profit deduction</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3)</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(6)</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(7)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Deemed repatriation transition tax </p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#FF0000;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">263</p>
</td></tr>
<tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">US Taxes on foreign income</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(90)</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(99)</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(35)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Change in Rate</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">391</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td></tr>
<tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">40</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(13)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,186</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,273</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,042</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The domestic and foreign components of income before income tax expense were as follows: &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:607.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:466.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years ended December 31,</p>
</td></tr>
<tr><td style="width:607.35pt" valign="top"/><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:607.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Domestic</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,475</p>
</td><td style="background-color:#CCEEFF;width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,004</p>
</td><td style="background-color:#CCEEFF;width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,031</p>
</td></tr>
<tr><td style="width:607.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,184</p>
</td><td style="width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,057</p>
</td><td style="width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,809</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:607.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,659</p>
</td><td style="background-color:#CCEEFF;width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,061</p>
</td><td style="background-color:#CCEEFF;width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,840</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<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="idm139865950609072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Note 8 - Options</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 8 &#8211;&#160;Options</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company has stock option plans which authorize the grant of stock options to eligible employees, directors and other individuals to purchase up to an aggregate of 509 thousand shares of common stock, of which 67 thousand are outstanding as of December 31, 2022. &#160;All options granted under the plans are granted at current market value at the date of grant, and may be exercised between six months and ten years following the date of grant. &#160;The plans are intended to advance the interest of the Company by attracting and ensuring retention of competent directors, employees and executive personnel, and to provide incentives to those individuals to devote their utmost efforts to the advancement of stockholder value. &#160;Changes in stock options were as follows:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"/>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:114.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Shares<br/>(000&#8217;s)</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:27pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="2" style="width:346.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Price Range <br/>Per Share</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2022</b></p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">21</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">82.60 - 82.60</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="background-color:#CCEEFF;width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
<tr><td style="width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">4</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">67</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="background-color:#CCEEFF;width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
<tr><td style="width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">40</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:114.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Shares<br/>(000&#8217;s)</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:27pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:346pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Price Range <br/>Per Share</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2021</b></p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.3pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">- - -</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">3</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">74.64 - 77.05</p>
</td></tr>
<tr><td style="width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">14</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26.52 - 77.05</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">52</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
<tr><td style="width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">34</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Shares<br/>(000&#8217;s)</p>
</td><td style="width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:346.3pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Price Range <br/>Per Share</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2020</b></p>
</td><td style="background-color:#CCEEFF;width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="background-color:#CCEEFF;width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:346.3pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26</p>
</td><td style="width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">77.05 - 77.05</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="background-color:#CCEEFF;width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">1</p>
</td><td style="background-color:#CCEEFF;width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">58.50 - 77.05</p>
</td></tr>
<tr><td style="width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">8</p>
</td><td style="width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26.52 - 74.64</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="background-color:#CCEEFF;width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">69</p>
</td><td style="background-color:#CCEEFF;width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26.52 - 77.05</p>
</td></tr>
<tr><td style="width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33</p>
</td><td style="width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26.52 - 74.64</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">For the years ended December 31, 2022, 2021 and 2020, the Company reduced current income taxes payable by $6, $39 and $7, respectively, for the income tax benefit attributable to sale by optionees of common stock received upon the exercise of stock options.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Stock-Based Compensation</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In 2022, the Company recognized $183 in equity compensation cost, compared to $166 in 2021 and $160 in 2020. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The fair value of each option grant is estimated on the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:314pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years ended December 31,</p>
</td></tr>
<tr><td style="width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:73.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:70.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:71.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected dividend amount per quarter</p>
</td><td style="background-color:#CCEEFF;width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:73.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.3050</p>
</td><td style="background-color:#CCEEFF;width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:70.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:71.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.2943</p>
</td></tr>
<tr><td style="width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected stock price volatility</p>
</td><td style="width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:73.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">29.87%</p>
</td><td style="width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">27.5%</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Risk-free interest rate</p>
</td><td style="background-color:#CCEEFF;width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:73.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.09%</p>
</td><td style="background-color:#CCEEFF;width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:71.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.56%</p>
</td></tr>
<tr><td style="width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected life of options</p>
</td><td style="width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:73.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.7 years</p>
</td><td style="width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.3 years</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The per share weighted average fair value of options granted during 2022 is $25.34 and in 2020 is $16.17. No options were granted in 2021.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">All UTMD options vest over a four-year service period. &#160;At December 31, 2022 there was $501 total unrecognized compensation expense related to non-vested stock options under the plans. A $199 portion of the cost is expected to be recognized over the next twelve months, and the remaining $302 recognized over the next 4 years. Expected dividend amounts were estimated based on the actual cash dividend rate at the time the options were granted and an estimate of future dividends based on past dividend rate changes as well as management&#8217;s expectations of future dividend rates over the expected holding period of the options. &#160;Expected volatility is based on UTMD&#8217;s historical volatility over recent periods of time and trends in that volatility, giving weight to more recent periods. &#160;Risk free interest rates were estimated based on actual U.S. Treasury Securities Interest rates as reported by the Federal Reserve Bank for periods of time equivalent to the holding periods estimated for the options on the dates the options were granted. &#160;Expected term of options were estimated based on historical holding periods for similar options previously granted by UTMD to employees and directors. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The following table summarizes information about stock options outstanding at December 31, 2022:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:107.1pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="6" style="width:302.7pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Options Outstanding</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" style="width:196.1pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Options Exercisable</p>
</td></tr>
<tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:107.1pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Range of Exercise Prices</p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:88pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Actual Number Outstanding</p>
</td><td style="width:17.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:87.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Weighted Average Remaining Contractual Life (Years)</p>
</td><td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Weighted Average Exercise Price</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:86.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Number Exercisable</p>
</td><td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Weighted Average Exercise Price</p>
</td></tr>
<tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:107.1pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;</p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:88pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:17.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:87.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:86.1pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">$</p>
</td><td style="background-color:#CCEEFF;width:44.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">49.18</p>
</td><td style="background-color:#CCEEFF;width:17pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td style="background-color:#CCEEFF;width:45.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">58.50</p>
</td><td style="background-color:#CCEEFF;width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:88pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,762</p>
</td><td style="background-color:#CCEEFF;width:17.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:87.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2.68 </p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:80.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">54.12</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:86.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,762</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:80.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">54.12</p>
</td></tr>
<tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:44.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">74.64</p>
</td><td style="width:17pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td style="width:45.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">77.05</p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:88pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,071</p>
</td><td style="width:17.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:87.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6.79</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">76.22</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:86.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">25,987</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">75.99</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:44.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#CCEEFF;width:17pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td style="background-color:#CCEEFF;width:45.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">82.60</p>
</td><td style="background-color:#CCEEFF;width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:88pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,600</p>
</td><td style="background-color:#CCEEFF;width:17.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:87.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9.78</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:86.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.00</p>
</td></tr>
<tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">$</p>
</td><td style="width:44.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">49.18</p>
</td><td style="width:17pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#7F7F7F;text-align:center"><span style="color:#000000">-</span></p>
</td><td style="width:45.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#7F7F7F"><span style="color:#000000">82.60</span></p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:88pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">67,433</p>
</td><td style="width:17.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:87.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6.86</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">73.66</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:86.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">39,749</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">68.42</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:368.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:307.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr><td style="width:368.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:72.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:31.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:65.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:38.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:70.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:368.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Intrinsic Value of Stock Options Exercised</p>
</td><td style="background-color:#CCEEFF;width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:72.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">141</p>
</td><td style="background-color:#CCEEFF;width:31.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:65.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">591</p>
</td><td style="background-color:#CCEEFF;width:38.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:70.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">371</p>
</td></tr>
<tr><td style="width:368.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Intrinsic Value of Stock Options Outstanding</p>
</td><td style="width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:72.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,812</p>
</td><td style="width:31.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:65.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,595</p>
</td><td style="width:38.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:70.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,178</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>32
<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="idm139865947984496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Geographic Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_GeographicInformationTextBlock', window );">Note 9 - Geographic Information</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 9 &#8211;&#160;Geographic Information</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company had sales in the following geographic areas based on the customer&#8217;s country of domicile:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:337.2pt" valign="top"/><td style="width:31.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:337.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#CCEEFF;width:31.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">34,524</p>
</td><td style="background-color:#CCEEFF;width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">31,758</p>
</td><td style="background-color:#CCEEFF;width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">26,175</p>
</td></tr>
<tr><td style="width:337.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Europe</p>
</td><td style="width:31.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,214</p>
</td><td style="width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,434</p>
</td><td style="width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,399</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:337.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#CCEEFF;width:31.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,543</p>
</td><td style="background-color:#CCEEFF;width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,862</p>
</td><td style="background-color:#CCEEFF;width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,604</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_GeographicInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Note 9 - Geographic Information, during the indicated time period.</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_GeographicInformationTextBlock</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>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>33
<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="idm139865950650704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Geographic Long-Lived Assets Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_GeographicLongLivedAssetsInformationTextBlock', window );">Note 10 - Geographic Long-Lived Assets Information</a></td>
<td class="text"><span style="border-bottom:1px solid #000000">Note 10 &#8211;&#160;Long-lived Assets by Geographic Area</span> &#160; <p style="font:10pt Times New Roman;margin:0">The Company&#8217;s long-lived assets by geographic area were as follows:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:338.6pt" valign="top"/><td style="width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#CCEEFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:70.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,875</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,104</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">23,327</p>
</td></tr>
<tr><td style="width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">England</p>
</td><td style="width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">15,184</p>
</td><td style="width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,339</p>
</td><td style="width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,871</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Ireland</p>
</td><td style="background-color:#CCEEFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,954</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,990</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,173</p>
</td></tr>
<tr><td style="background-color:#FFFFFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Australia</p>
</td><td style="background-color:#FFFFFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">337</p>
</td><td style="background-color:#FFFFFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">392</p>
</td><td style="background-color:#FFFFFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">440</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Canada</p>
</td><td style="background-color:#CCEEFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">593</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">653</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">672</p>
</td></tr>
<tr><td style="background-color:#FFFFFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_GeographicLongLivedAssetsInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Note 10 - Geographic Long-Lived Assets Information, during the indicated time period.</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_GeographicLongLivedAssetsInformationTextBlock</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>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>34
<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="idm139865950707024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_RevenuesbyproductcategoryandregionTextBlock', window );">Note 11 - Revenues By Product Category And Region</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 11 &#8211;&#160;Revenues by Product Category and Geographic Region</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Global revenues by product category:</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:313.85pt" valign="top"> </td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,661</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,675</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,523</p>
</td></tr>
<tr><td style="width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,841</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,973</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,552</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,567</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,691</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,870</p>
</td></tr>
<tr><td style="width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">18,212</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">15,715</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,233</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">52,281</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">49,054</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">42,178</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Included in the Global revenues (above) were OUS revenues by product category:</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:313.85pt" valign="top"> </td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">676</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">735</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">846</p>
</td></tr>
<tr><td style="width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,603</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,053</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,934</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,517</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,347</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,490</p>
</td></tr>
<tr><td style="width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,514</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,260</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,042</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,310</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">18,395</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,312</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;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_fil_RevenuesbyproductcategoryandregionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Revenues By Product Category And Region, during the indicated time period.</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_RevenuesbyproductcategoryandregionTextBlock</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>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>35
<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="idm139865950621168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Product Sale and Purchase Commitments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ProductSaleAndPurchaseCommitmentsTextBlock', window );">Note 12 - Product Sale and Purchase Commitments</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 12 - Product Sale and Purchase Commitments</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company has had license agreements for the rights to develop and market certain products or technologies owned by unrelated parties. &#160;The confidential terms of such agreements are unique and varied, depending on many factors relating to the value and stage of development of the technology licensed. &#160;Royalties on future product sales are a normal component of such agreements and are included in the Company&#8217;s cost of goods sold on an ongoing basis.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In 2022, 2021 and 2020, UTMD received royalties of $20, $15 and $20, respectively, for the use of intellectual property. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">UTMD had $5,242 in operating lease and purchase commitments as of December 31, 2022.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ProductSaleAndPurchaseCommitmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Note 12 - Product Sale and Purchase Commitments, during the indicated time period.</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_ProductSaleAndPurchaseCommitmentsTextBlock</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>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>36
<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="idm139865948055984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Employee Benefit Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Note 13 - Employee Benefit Plans</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 13 &#8211;&#160;Employee Benefit Plans</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company sponsors a contributory 401(k) savings plan for U.S. employees, and contributory retirement plans for Ireland, UK, Australia and Canada employees. &#160;The Company&#8217;s matching contribution is determined annually by the board of directors. &#160;Company contributions were approximately $159, $165 and $167 for the years ended December 31, 2022, 2021 and 2020, respectively.</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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section S99<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=21916913&amp;loc=d3e273930-122802<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI https://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6414203&amp;loc=d3e39689-114964<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>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="idm139865948049344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Note 14 - Leases</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 14 &#8211;&#160;Leases</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">UTMD has operating leases for a portion of its parking lot at its Midvale facility and an automobile at its Ireland facility. &#160;The remaining lease term on the parking lot is 9 years and on the automobile is 18 months. &#160;There are no options to extend or terminate the leases. &#160;The parking lot lease contains a provision that requires an adjustment every five years to the lease payment based on the change in the Consumer Price Index. &#160;This adjustment occurred in 2021 requiring an increase of $87 to the value of the right-of-use asset and lease liabilities. UTMD has no other leases yet to commence. &#160;As neither lease contains implicit rates, UTMD&#8217;s incremental borrowing rate, based on information available at adoption date, was used to determine the present value of the leases.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Operating lease costs for the years ended December 31, 2022, 2021, and 2020 were $64, $63, and $61, respectively.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Supplemental balance sheet information related to operating leases was as follows (in thousands):</p>
<br/><table style="border-collapse:collapse;width:100%"><tr style="height:23.85pt"><td style="width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">As of December 31, 2022</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Operating lease right-of-use assets</p>
</td><td style="background-color:#CCEEFF;width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$395</p>
</td></tr>
<tr><td style="width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><span style="-sec-ix-hidden:fact7">Operating lease liabilities &#8211;&#160;current (included in Accrued Expenses)</span></p>
</td><td style="width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">54</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Operating lease liabilities &#8211;&#160;long term</p>
</td><td style="background-color:#CCEEFF;width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">341</span></p>
</td></tr>
<tr><td style="width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total operating lease liabilities</p>
</td><td style="width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$395</p>
</td></tr>
</table>
<table style="border-collapse:collapse;width:100%"><tr style="height:23.75pt"><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Maturities of operating lease liabilities at December 31, 2022 were as follows (in thousands):</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">As of December 31, 2022</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2023</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$54</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2024</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">46</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2025</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">41</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2026</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">42</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2027</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">43</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Thereafter</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">169</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> &#160;&#160;&#160;&#160;Total lease payments</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$442</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> &#160;&#160;&#160;&#160;Less: imputed interest</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(47)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> &#160;&#160;&#160;&#160;Total lease liabilities</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$395</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:23.75pt"><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">The following table provides information on the lease terms and discount rates:</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">As of December 31, 2022</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted-average remaining lease term &#160;(in years)</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8.2 years</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted-average discount rate</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3.3%</p>
</td></tr>
</table>
<p style="font:12pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:10pt">&#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_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948080560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - CSI Distribution Agreement Purchase Disclosure<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Note 15 - CSI Distribution Agreement Purchase Disclosure</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 15 &#8211;&#160;Distribution Agreement Purchase</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">UTMD completed the purchase of exclusive U.S. distribution rights for the Filshie Clip System from CooperSurgical, Inc. (CSI) on February 1, 2019, after which CSI no longer sells the Filshie Clip System and UTMD distributes the Filshie Clip System directly to clinical facilities in the U.S. The $21,000 purchase price represents an identifiable intangible asset which will be straight-line amortized and recognized as part of G&amp;A expenses over the 4.75 year remaining life of the prior CSI distribution agreement with Femcare. &#160;The agreement will be fully amortized in 4th quarter 2023. &#160;As part of the agreement, UTMD also purchased the remaining CSI inventory for approximately $2,100.</p>
<p style="font:10pt Times New Roman;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_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -URI https://asc.fasb.org/subtopic&amp;trid=2144471<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947973296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Note 16 - Earnings Per Share</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 16 &#8211;&#160;Earnings Per Share</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Basic earnings per share is calculated by dividing net income attributable to the common stockholders of the company by the weighted average number of common shares outstanding during the period. &#160;Diluted earnings per share is calculated by assuming the exercise of stock options at the closing price of stock at the end of 2022.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:12.5pt"><td colspan="6" style="width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.5pt"><td colspan="6" style="width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:12.5pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"/><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:12pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>Numerator </b><i>(in thousands)</i></p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:11.2pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net income</p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,473</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,788</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,798</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>Denominator</b></p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted average shares, basic</p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,637</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,647</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,658</p>
</td></tr>
<tr style="height:12.5pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Dilutive effect of stock options</p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">6</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">13</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">14</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Diluted shares</p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,643</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,660</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,672</p>
</td></tr>
<tr style="height:12.5pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings per share, basic</p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.53</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.05</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">2.95</p>
</td></tr>
<tr style="height:12.5pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings per share, diluted</p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.52</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.04</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">2.94</p>
</td></tr>
</table>
<p style="font:12pt Times New Roman;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_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948167536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Recent Accounting Pronouncements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Note 17 - Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 17 &#8211;&#160;Recent Accounting Pronouncements</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company has determined that other recently issued accounting standards will either have no material impact on its consolidated financial position, results of operations or cash flows, or will not apply to its operations.</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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI https://asc.fasb.org/topic&amp;trid=2122394<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 11.M.Q2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038215&amp;loc=d3e31137-122693<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL122150809-237846<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section S99<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=122038215&amp;loc=SL108384541-122693<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=120154821&amp;loc=SL120154904-197079<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947987104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Note 18 - Subsequent Events</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 18 &#8211;&#160;Subsequent Events</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company evaluated its December 31, 2022 financial statements for subsequent events through the date the financial statements were issued. &#160;The Company is not aware of any subsequent events which would require recognition or disclosure in the financial statements. </p>
<p style="font:10pt Times New Roman;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_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI https://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865945133328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates in The Preparation of Financial Statements</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Use of Estimates in the Preparation of Financial Statements</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities 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;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.</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_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948055984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Principles of Consolidation</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation. </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_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948021264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Cash and Cash Equivalents</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4273-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948028320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskDisclosureTextBlock', window );">Concentration of Credit Risk</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Concentration of Credit Risk</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December 31, 2022 except under an extreme global financial crisis.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances. </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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947980512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesPolicyTextBlock', window );">Accounts Receivable</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Accounts Receivable</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. &#160;Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).</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_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable. Includes, but is not limited to, accounts receivable and financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5033-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10178-111534<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10149-111534<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10133-111534<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947939248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Inventories</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2). </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_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126900757&amp;loc=d3e543-108305<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947901760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Property and Equipment</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td colspan="2" style="width:391.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr><td style="width:298.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Building and improvements</p>
</td><td style="width:92.7pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">15 - 40 years</p>
</td></tr>
<tr><td style="width:298.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="width:92.7pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">3 - 10 years</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947676464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Long-lived Assets</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Long-Lived Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#8220;Accounting for the Impairment of Long-Lived Assets.&#8221; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. &#160;When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made. </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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=109226317&amp;loc=d3e202-110218<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011434&amp;loc=d3e125687-122742<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947987104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Intangible Assets</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Intangible Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from 5 to 20 years. UTMD&#8217;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2022, using the 2022 year-end 1.2077 USD/GBP and 0.6805 USD/AUD currency exchange rates, is about $5,617 in 2023, $1,933 in 2024, $1,933 in 2025, $424 in 2026, and $12 in 2027 (see note 2).</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In 2019, $21,000 in intangible assets were acquired from CSI. &#160;The future amortization expenses on those assets are estimated to be $3,864 in 2023 (see note 15).</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_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947664736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-based Compensation</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Stock-Based Compensation </span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">At December 31, 2022, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, Share-Based Payment. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2022, the Company recognized $183 in stock-based compensation cost compared to $166 in 2021 and $160 in 2020.</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_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -URI https://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948039392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Revenue Recognition</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#8217;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#8217;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for other companies. &#160;This revenue is recognized when UTMD&#8217;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. </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_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947664736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Income Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company accounts for income taxes under ASC 740, &#8220;Accounting for Income Taxes,&#8221; whereby deferred taxes are computed under the asset and liability method. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company accounts for deferred taxes under ASC 740, &#8220;Accounting for Income Taxes&#8221;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#8217;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2022 or 2021. &#160;In 2020 the Company paid tax penalties of $4. </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_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948035904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LegalCostsPolicyTextBlock', window );">Legal Costs</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Legal Costs</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2022 and 2021 was  $204 and $96, respectively (see note 2).</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_LegalCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 legal costs incurred to protect or defend the entity's assets and rights, or to obtain assets, including monetary damages, or to obtain rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section S99<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=27011672&amp;loc=d3e149975-122751<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LegalCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948006160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings Per Share</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Earnings per Share</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">The shares (in thousands) used in the computation of the Company&#8217;s basic and diluted earnings per share are reconciled as follows:</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:737.7pt" valign="top"/><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:737.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Weighted average number of shares outstanding &#8211;&#160;basic</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,637</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,647</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,658</p>
</td></tr>
<tr><td style="width:737.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Dilutive effect of stock options</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:737.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Weighted average number of shares outstanding, assuming dilution</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,643</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,660</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,672</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948065248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_PresentationOfSalesAndSimilarTaxesTextBlock', window );">Presentation of Sales and Similar Taxes</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Presentation of Sales and Similar Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2022 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_PresentationOfSalesAndSimilarTaxesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Presentation of Sales and Similar Taxes, during the indicated time period.</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_PresentationOfSalesAndSimilarTaxesTextBlock</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>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865951561008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Translation of Foreign Currencies</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Translation of Foreign Currencies</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Assets and liabilities of the Company&#8217;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#8217;s assets and liabilities are reflected as a separate component of stockholders&#8217; equity. &#160;A negative translation impact on stockholders&#8217; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, as applicable.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year. </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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -URI https://asc.fasb.org/topic&amp;trid=2175825<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947996720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Accounting Pronouncements, Policy</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">The Company has determined that other recently issued accounting standards will either have no material impact on its consolidated financial position, results of operations or cash flows, or will not apply to its operations.</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_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947917072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Schedule of Weighted Average Number of Shares</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:737.7pt" valign="top"/><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:737.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Weighted average number of shares outstanding &#8211;&#160;basic</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,637</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,647</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,658</p>
</td></tr>
<tr><td style="width:737.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Dilutive effect of stock options</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13</p>
</td><td style="width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:737.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Weighted average number of shares outstanding, assuming dilution</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,643</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,660</p>
</td><td style="background-color:#CCEEFF;width:52.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,672</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="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>60
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948055984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of Accounts and Other Receivables</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="4" style="width:272.75pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">December 31,</p>
</td></tr>
<tr><td style="width:801.15pt" valign="top"/><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td></tr>
<tr><td style="width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accounts and other receivables:</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Accounts receivable&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,720</p>
</td><td style="background-color:#CCEEFF;width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,287</p>
</td></tr>
<tr><td style="width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Accrued interest and other&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">51</p>
</td><td style="width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">39</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Less allowance for doubtful accounts&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(182)</p>
</td><td style="background-color:#CCEEFF;width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(156)</p>
</td></tr>
<tr><td style="width:801.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total accounts and other receivables&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,589</p>
</td><td style="width:85.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,170</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3,4)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="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>61
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947962432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory, Current</a></td>
<td class="text"><p style="font:11pt Times New Roman;margin:0"/>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Inventories:</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">.</p>
</td><td style="width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"/></tr>
<tr><td style="background-color:#CCEEFF;width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Finished products&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,896</p>
</td><td style="background-color:#CCEEFF;width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,468</p>
</td></tr>
<tr><td style="width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Work-in-process&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,193</p>
</td><td style="width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,398</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Raw materials&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,725</p>
</td><td style="background-color:#CCEEFF;width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,730</p>
</td></tr>
<tr><td style="width:800.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total inventories&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,814</p>
</td><td style="width:85.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,596</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947966928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Goodwill</a></td>
<td class="text"><table style="border-collapse:collapse;width:100%"><tr><td style="width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Goodwill:</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.6pt" valign="top"/><td style="width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.6pt" valign="top"/></tr>
<tr><td style="background-color:#CCEEFF;width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Balance as of January 1</p>
</td><td style="background-color:#CCEEFF;width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,098</p>
</td><td style="background-color:#CCEEFF;width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,164</p>
</td></tr>
<tr><td style="width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Effect of foreign exchange&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(744)</p>
</td><td style="width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(66)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Subtractions as a result of impairment&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td></tr>
<tr><td style="width:799.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total Goodwill as of December 31&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,354</p>
</td><td style="width:85.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,098</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=SL108378252-109267<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="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>63
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865945343600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets</a></td>
<td class="text"><p style="font:11pt Times New Roman;margin:0"/>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other Identifiable Intangible Assets:</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"/><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"/></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Patents&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,198</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,212</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Non-compete agreements&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">121</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">135</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Trademarks &amp; trade names&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,887</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,930</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Customer relationships&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,635</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,678</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Distribution agreements&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,000</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,000</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/><span style="-sec-ix-hidden:fact5"><span style="-sec-ix-hidden:fact6">Right-of-Use</span></span> Asset&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">395</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">449</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Regulatory approvals &amp; product certifications&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,519</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,910</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total Other Identifiable Intangible Assets&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">52,755</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:85.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">56,314</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Accumulated amortization&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(42,378)</p>
</td><td style="background-color:#CCEEFF;width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(38,552)</p>
</td></tr>
<tr><td style="width:798pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/> Other Identifiable Intangible Assets, Net&#160;</p>
</td><td style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,377</p>
</td><td style="width:84.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">17,762</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>64
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865950518256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Expenses</a></td>
<td class="text"><p style="font:11pt Times New Roman;margin:0"/>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued expenses:</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"/><td style="width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"/></tr>
<tr><td style="background-color:#CCEEFF;width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Income taxes payable (receivable)&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">337</p>
</td><td style="background-color:#CCEEFF;width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">36</p>
</td></tr>
<tr><td style="width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Payroll and payroll taxes&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,318</p>
</td><td style="width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,225</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Reserve for litigation costs&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">204</p>
</td><td style="background-color:#CCEEFF;width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">96</p>
</td></tr>
<tr><td style="width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Other&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,883</p>
</td><td style="width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,627</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:800.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:46.8pt"/>Total accrued expenses&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,742</p>
</td><td style="background-color:#CCEEFF;width:85.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,984</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947911792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Quarterly Financial Information</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Unaudited Quarterly Data for 2022</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"/><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">First Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Second Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Third Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,323</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,428</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,955</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,575</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,533</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,151</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,186</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,327</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,534</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,103</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,280</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,555</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.96</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.12</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.18</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.25</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Unaudited Quarterly Data for 2021</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"/><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">First Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Second Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Third Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,964</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,604</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,572</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,914</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,947</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,785</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,073</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,112</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,024</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,426</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,206</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,131</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.83</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.94</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.15</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.13</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Unaudited Quarterly Data for 2020</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"/><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">First Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Second Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Third Quarter</p>
</td><td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,902</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,787</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,479</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,010</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,836</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,950</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,497</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,265</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,140</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,313</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,933</p>
</td><td style="background-color:#CCEEFF;width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:148.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,412</p>
</td></tr>
<tr><td style="width:520.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:29.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:30.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.84</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.36</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.80</p>
</td><td style="width:49.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:29.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.94</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"/>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126900988&amp;loc=d3e1280-108306<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="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>66
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947944768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="4" style="width:382.35pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">December 31,</p>
</td></tr>
<tr><td style="width:645.6pt" valign="top"/><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:154.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:3.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:157.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:154.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,593</p>
</td><td style="background-color:#CCEEFF;width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:157.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,690</p>
</td></tr>
<tr><td style="width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:154.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,601</p>
</td><td style="width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:157.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,172</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:154.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">17,068</p>
</td><td style="background-color:#CCEEFF;width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:157.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,660</p>
</td></tr>
<tr><td style="width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:154.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">906</p>
</td><td style="width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:157.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">898</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Total&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,168</p>
</td><td style="background-color:#CCEEFF;width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,420</p>
</td></tr>
<tr><td style="width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:154.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(22,944)</p>
</td><td style="width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:157.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(22,802)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:645.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,224</p>
</td><td style="background-color:#CCEEFF;width:3.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:67.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,618</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948080560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_PropertyPlantAndEquipmentByLocationTextBlock', window );">Property Plant and Equipment by Location</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:652.15pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Dutch801SWC;margin:0;text-align:center"><span style="font-family:Times New Roman">December 31, 2022</span></p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"/><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp; Canada</p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp; Australia </p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Ireland</p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:118.45pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Total</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">621</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">605</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">367</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,593</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,566</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,043</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,992</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,601</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,950</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">693</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,425</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">17,068</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">412</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">494</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">906</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Total&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">22,549</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,341</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,278</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,168</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(18,369)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(1,229)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3,346)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(22,944)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,180</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,112</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,932</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,224</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:652.1pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Dutch801SWC;margin:0;text-align:center"><span style="font-family:Times New Roman">December 31, 2021</span></p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"/><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp; Canada</p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp; Australia </p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Ireland</p>
</td><td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Total</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">621</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">678</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">391</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,690</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,541</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,384</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,247</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,172</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,608</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:119pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">752</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:117.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,300</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,660</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">412</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">484</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">898</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"/>Total&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">22,182</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,816</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,422</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,420</p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(18,168)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(1,164)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3,470)</p>
</td><td style="width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(22,802)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:398.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,014</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,652</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,952</p>
</td><td style="background-color:#CCEEFF;width:36.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:23.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,618</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;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_fil_PropertyPlantAndEquipmentByLocationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Property Plant and Equipment by Location, during the indicated time period.</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_PropertyPlantAndEquipmentByLocationTextBlock</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>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>68
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947968224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:99.98%"><tr><td style="width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="7" style="width:465.45pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">December 31,</p>
</td></tr>
<tr><td style="width:608.3pt" valign="top"/><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:85.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:21.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Inventory write-downs and differences due to UNICAP</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">103</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">88</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">86</p>
</td></tr>
<tr><td style="width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Allowance for doubtful accounts</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">39</p>
</td><td style="width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">31</p>
</td><td style="width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">32</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued liabilities and reserves</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">90</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">58</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:83.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">68</p>
</td></tr>
<tr><td style="width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Depreciation and amortization</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,295)</p>
</td><td style="width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,859)</p>
</td><td style="width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3,034)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:608.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Deferred income taxes, net</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,063)</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,682)</p>
</td><td style="background-color:#CCEEFF;width:85.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(2,848)</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947940848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of Income Tax Expense (Benefit)</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:609.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:464.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years ended December 31,</p>
</td></tr>
<tr><td style="width:609.4pt" valign="top"/><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:609.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Current</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,632</p>
</td><td style="background-color:#CCEEFF;width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,983</p>
</td><td style="background-color:#CCEEFF;width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,253</p>
</td></tr>
<tr><td style="width:609.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Deferred</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(446)</p>
</td><td style="width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">290</p>
</td><td style="width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(211)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:609.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,186</p>
</td><td style="background-color:#CCEEFF;width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,273</p>
</td><td style="background-color:#CCEEFF;width:85.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,042</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947934608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:461.95pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years ended December 31,</p>
</td></tr>
<tr><td style="width:612pt" valign="top"/><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Federal income tax expense at the statutory rate</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,620</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,520</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,915</p>
</td></tr>
<tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">State income taxes</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">490</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">448</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">369</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign income taxes (blended rate)</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,129</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,010</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">550</p>
</td></tr>
<tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">R&amp;D tax credits and manufacturing profit deduction</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3)</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(6)</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(7)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Deemed repatriation transition tax </p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#FF0000;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">263</p>
</td></tr>
<tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">US Taxes on foreign income</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(90)</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(99)</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(35)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Change in Rate</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">391</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:82.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td></tr>
<tr><td style="width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">40</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9</p>
</td><td style="width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(13)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:612pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,186</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,273</p>
</td><td style="background-color:#CCEEFF;width:85.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,042</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947931472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of Income before Income Tax, Domestic and Foreign</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:607.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:466.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years ended December 31,</p>
</td></tr>
<tr><td style="width:607.35pt" valign="top"/><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:607.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Domestic</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,475</p>
</td><td style="background-color:#CCEEFF;width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,004</p>
</td><td style="background-color:#CCEEFF;width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,031</p>
</td></tr>
<tr><td style="width:607.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,184</p>
</td><td style="width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,057</p>
</td><td style="width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,809</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:607.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,659</p>
</td><td style="background-color:#CCEEFF;width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,061</p>
</td><td style="background-color:#CCEEFF;width:85.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:21.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,840</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="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>72
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865950649904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Share-based Compensation, Stock Options, Activity</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"/>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:114.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Shares<br/>(000&#8217;s)</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:27pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="2" style="width:346.05pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Price Range <br/>Per Share</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2022</b></p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">21</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">82.60 - 82.60</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="background-color:#CCEEFF;width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
<tr><td style="width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">4</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">67</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="background-color:#CCEEFF;width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
<tr><td style="width:795.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">40</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:114.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Shares<br/>(000&#8217;s)</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:27pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:346pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Price Range <br/>Per Share</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2021</b></p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.3pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">- - -</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">3</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">74.64 - 77.05</p>
</td></tr>
<tr><td style="width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">14</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26.52 - 77.05</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">52</p>
</td><td style="background-color:#CCEEFF;width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
<tr><td style="width:795.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">34</p>
</td><td style="width:101.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:345.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Shares<br/>(000&#8217;s)</p>
</td><td style="width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:346.3pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Price Range <br/>Per Share</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2020</b></p>
</td><td style="background-color:#CCEEFF;width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="background-color:#CCEEFF;width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:346.3pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26</p>
</td><td style="width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">77.05 - 77.05</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="background-color:#CCEEFF;width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">1</p>
</td><td style="background-color:#CCEEFF;width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">58.50 - 77.05</p>
</td></tr>
<tr><td style="width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">8</p>
</td><td style="width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26.52 - 74.64</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="background-color:#CCEEFF;width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">69</p>
</td><td style="background-color:#CCEEFF;width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26.52 - 77.05</p>
</td></tr>
<tr><td style="width:795.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="width:27.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:114.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33</p>
</td><td style="width:101.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:27.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:346.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">26.52 - 74.64</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>73
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947905632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:314pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years ended December 31,</p>
</td></tr>
<tr><td style="width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:73.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:70.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:71.6pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected dividend amount per quarter</p>
</td><td style="background-color:#CCEEFF;width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:73.1pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.3050</p>
</td><td style="background-color:#CCEEFF;width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:70.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:71.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.2943</p>
</td></tr>
<tr><td style="width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected stock price volatility</p>
</td><td style="width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:73.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">29.87%</p>
</td><td style="width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">27.5%</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Risk-free interest rate</p>
</td><td style="background-color:#CCEEFF;width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:73.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.09%</p>
</td><td style="background-color:#CCEEFF;width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:71.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.56%</p>
</td></tr>
<tr><td style="width:362.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected life of options</p>
</td><td style="width:14.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:73.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.7 years</p>
</td><td style="width:31.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:38.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.3 years</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>74
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948032112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock', window );">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:107.1pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="6" style="width:302.7pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Options Outstanding</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" style="width:196.1pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Options Exercisable</p>
</td></tr>
<tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:107.1pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Range of Exercise Prices</p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:88pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Actual Number Outstanding</p>
</td><td style="width:17.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:87.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Weighted Average Remaining Contractual Life (Years)</p>
</td><td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Weighted Average Exercise Price</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:86.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Number Exercisable</p>
</td><td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Weighted Average Exercise Price</p>
</td></tr>
<tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:107.1pt" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;</p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:88pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:17.15pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:87.55pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:86.1pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">$</p>
</td><td style="background-color:#CCEEFF;width:44.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">49.18</p>
</td><td style="background-color:#CCEEFF;width:17pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td style="background-color:#CCEEFF;width:45.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">58.50</p>
</td><td style="background-color:#CCEEFF;width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:88pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,762</p>
</td><td style="background-color:#CCEEFF;width:17.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:87.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2.68 </p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:80.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">54.12</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:86.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,762</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:80.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">54.12</p>
</td></tr>
<tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:44.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">74.64</p>
</td><td style="width:17pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td style="width:45.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">77.05</p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:88pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">33,071</p>
</td><td style="width:17.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:87.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6.79</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">76.22</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:86.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">25,987</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:80.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">75.99</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:44.65pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#CCEEFF;width:17pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">-</p>
</td><td style="background-color:#CCEEFF;width:45.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">82.60</p>
</td><td style="background-color:#CCEEFF;width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:88pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,600</p>
</td><td style="background-color:#CCEEFF;width:17.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:87.55pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9.78</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:86.1pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0</p>
</td><td style="background-color:#CCEEFF;width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.00</p>
</td></tr>
<tr><td style="width:13.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">$</p>
</td><td style="width:44.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">49.18</p>
</td><td style="width:17pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#7F7F7F;text-align:center"><span style="color:#000000">-</span></p>
</td><td style="width:45.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;color:#7F7F7F"><span style="color:#000000">82.60</span></p>
</td><td style="width:35.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:88pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">67,433</p>
</td><td style="width:17.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:87.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6.86</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">73.66</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:86.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">39,749</p>
</td><td style="width:16.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">68.42</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock</td>
</tr>
<tr>
<td style="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>75
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947951408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ScheduleOfGeographicInformationTextBlock', window );">Schedule Of Geographic Information</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:337.2pt" valign="top"/><td style="width:31.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:337.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#CCEEFF;width:31.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">34,524</p>
</td><td style="background-color:#CCEEFF;width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">31,758</p>
</td><td style="background-color:#CCEEFF;width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">26,175</p>
</td></tr>
<tr><td style="width:337.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Europe</p>
</td><td style="width:31.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,214</p>
</td><td style="width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,434</p>
</td><td style="width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,399</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:337.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#CCEEFF;width:31.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,543</p>
</td><td style="background-color:#CCEEFF;width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,862</p>
</td><td style="background-color:#CCEEFF;width:37.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:71.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,604</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ScheduleOfGeographicInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Schedule Of Geographic Information, during the indicated time period.</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_ScheduleOfGeographicInformationTextBlock</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>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>76
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947903984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock', window );">Schedule Of Long-Lived Assets By Geographic Area</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:338.6pt" valign="top"/><td style="width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#CCEEFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:70.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,875</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,104</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">23,327</p>
</td></tr>
<tr><td style="width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">England</p>
</td><td style="width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">15,184</p>
</td><td style="width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,339</p>
</td><td style="width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,871</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Ireland</p>
</td><td style="background-color:#CCEEFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,954</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,990</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,173</p>
</td></tr>
<tr><td style="background-color:#FFFFFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Australia</p>
</td><td style="background-color:#FFFFFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">337</p>
</td><td style="background-color:#FFFFFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">392</p>
</td><td style="background-color:#FFFFFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">440</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Canada</p>
</td><td style="background-color:#CCEEFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">593</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">653</p>
</td><td style="background-color:#CCEEFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">672</p>
</td></tr>
<tr><td style="background-color:#FFFFFF;width:338.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:31.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:37.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:16.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:70.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Schedule Of Long-Lived Assets By Geographic Area, during the indicated time period.</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_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock</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>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>77
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139866030557584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock', window );">Schedule Of Global Revenues By Product Category</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">Global revenues by product category:</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:313.85pt" valign="top"> </td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,661</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,675</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,523</p>
</td></tr>
<tr><td style="width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,841</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,973</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,552</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,567</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,691</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,870</p>
</td></tr>
<tr><td style="width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">18,212</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">15,715</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,233</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">52,281</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">49,054</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">42,178</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Schedule Of Global Revenues By Product Category, during the indicated time period.</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_ScheduleofglobalrevenuesbyproductcategoryTextBlock</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>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>78
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947927008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ScheduleofousrevenuesbyproductcategoryTextBlock', window );">Schedule Of OUS Revenues By Product Category</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">Included in the Global revenues (above) were OUS revenues by product category:</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:313.85pt" valign="top"> </td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">676</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">735</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">846</p>
</td></tr>
<tr><td style="width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,603</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,053</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,934</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,517</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,347</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:69.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,490</p>
</td></tr>
<tr><td style="width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,514</p>
</td><td style="width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5,260</p>
</td><td style="width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,042</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:313.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#CCEEFF;width:36.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,310</p>
</td><td style="background-color:#CCEEFF;width:36.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">18,395</p>
</td><td style="background-color:#CCEEFF;width:45.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:16.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,312</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ScheduleofousrevenuesbyproductcategoryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Schedule Of OUS Revenues By Product Category, during the indicated time period.</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_ScheduleofousrevenuesbyproductcategoryTextBlock</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>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>79
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865946318592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock', window );">Reconciliation of operating lease liabilities</a></td>
<td class="text"><br/><table style="border-collapse:collapse;width:100%"><tr style="height:23.85pt"><td style="width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">As of December 31, 2022</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Operating lease right-of-use assets</p>
</td><td style="background-color:#CCEEFF;width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$395</p>
</td></tr>
<tr><td style="width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><span style="-sec-ix-hidden:fact7">Operating lease liabilities &#8211;&#160;current (included in Accrued Expenses)</span></p>
</td><td style="width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">54</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Operating lease liabilities &#8211;&#160;long term</p>
</td><td style="background-color:#CCEEFF;width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">341</span></p>
</td></tr>
<tr><td style="width:831.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total operating lease liabilities</p>
</td><td style="width:264.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$395</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reconciliation of operating lease liabilities/ payments to operating lease liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock</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>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>80
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947906160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Lessee, Operating Lease, Liability, Maturity</a></td>
<td class="text"><table style="border-collapse:collapse;width:100%"><tr style="height:23.75pt"><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Maturities of operating lease liabilities at December 31, 2022 were as follows (in thousands):</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">As of December 31, 2022</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2023</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$54</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2024</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">46</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2025</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">41</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2026</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">42</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2027</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">43</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Thereafter</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">169</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> &#160;&#160;&#160;&#160;Total lease payments</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$442</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> &#160;&#160;&#160;&#160;Less: imputed interest</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(47)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> &#160;&#160;&#160;&#160;Total lease liabilities</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$395</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:23.75pt"><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">The following table provides information on the lease terms and discount rates:</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">As of December 31, 2022</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted-average remaining lease term &#160;(in years)</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8.2 years</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted-average discount rate</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3.3%</p>
</td></tr>
</table>
<p style="font:12pt Times New Roman;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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>81
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865947940848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:12.5pt"><td colspan="6" style="width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.5pt"><td colspan="6" style="width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:12.5pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"/><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:12pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">2020</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>Numerator </b><i>(in thousands)</i></p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:11.2pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net income</p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,473</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,788</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,798</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>Denominator</b></p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted average shares, basic</p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,637</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,647</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,658</p>
</td></tr>
<tr style="height:12.5pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Dilutive effect of stock options</p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">6</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">13</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">14</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Diluted shares</p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,643</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,660</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,672</p>
</td></tr>
<tr style="height:12.5pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:12.5pt"><td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings per share, basic</p>
</td><td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.53</p>
</td><td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.05</p>
</td><td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">2.95</p>
</td></tr>
<tr style="height:12.5pt"><td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings per share, diluted</p>
</td><td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.52</p>
</td><td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.04</p>
</td><td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">2.94</p>
</td></tr>
</table>
<p style="font:12pt Times New Roman;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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>82
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865946055328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865946106912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</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_ForeignCurrencyExchangeRateTranslationGBPtoUSD', window );">Foreign Currency Exchange Rate Translation GBP to USD</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.2077<span></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_ForeignCurrencyExchangeRateTranslationAUDtoUSD', window );">Foreign Currency Exchange Rate Translation AUD to USD</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.6805<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">Finite-Lived Intangible Asset, Expected Amortization, Year One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,617<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,933<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Three</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,933<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Four</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Five</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12<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_fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember', window );">CooperSurgical Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,864<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-Lived Intangible Assets Acquired</a></td>
<td class="nump">$ 21,000<span></span>
</td>
<td class="nump">$ 21,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</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_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</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_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">20 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the pure numeric value of Foreign Currency Exchange Rate Translation AUD to USD, as of the indicated date.</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_ForeignCurrencyExchangeRateTranslationAUDtoUSD</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:pureItemType</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_fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the pure numeric value of Foreign Currency Exchange Rate Translation GBP to USD, as of the indicated date.</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_ForeignCurrencyExchangeRateTranslationGBPtoUSD</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:pureItemType</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_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinitelivedIntangibleAssetsAcquired1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinitelivedIntangibleAssetsAcquired1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865950693408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 183<span></span>
</td>
<td class="nump">$ 166<span></span>
</td>
<td class="nump">$ 160<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>85
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865948043760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Income Taxes (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense', window );">Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense</a></td>
<td class="nump">$ 4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865951627280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LitigationReserve', window );">Estimated Litigation Liability</a></td>
<td class="nump">$ 204<span></span>
</td>
<td class="nump">$ 96<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_LitigationReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865945112960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted Average Number of Shares Outstanding, Basic</a></td>
<td class="nump">3,637<span></span>
</td>
<td class="nump">3,647<span></span>
</td>
<td class="nump">3,658<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Weighted Average Number of Shares Outstanding, Diluted, Adjustment</a></td>
<td class="nump">6<span></span>
</td>
<td class="nump">13<span></span>
</td>
<td class="nump">14<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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted Average Number of Shares Outstanding, Diluted</a></td>
<td class="nump">3,643<span></span>
</td>
<td class="nump">3,660<span></span>
</td>
<td class="nump">3,672<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139865942341168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Accounts Receivable, before Allowance for Credit Loss, Current</a></td>
<td class="nump">$ 5,720<span></span>
</td>
<td class="nump">$ 5,287<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestReceivableAndOtherAssets', window );">Interest Receivable and Other Assets</a></td>
<td class="nump">51<span></span>
</td>
<td class="nump">39<span></span>
</td>
</tr>
<tr class="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="num">(182)<span></span>
</td>
<td class="num">(156)<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_AccountsAndOtherReceivablesNetCurrent', window );">Accounts and Other Receivables, Net, Current</a></td>
<td class="nump">$ 5,589<span></span>
</td>
<td class="nump">$ 5,170<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_AccountsAndOtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, receivable from customers, clients, or other third-parties, and receivables classified as other due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsAndOtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_InterestReceivableAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest receivable and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestReceivableAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>89
<FILENAME>R73.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="idm139865941888176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Inventory, Finished Goods, Net of Reserves</a></td>
<td class="nump">$ 1,896<span></span>
</td>
<td class="nump">$ 1,468<span></span>
</td>
</tr>
<tr class="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 );">Inventory, Work in Process, Gross</a></td>
<td class="nump">1,193<span></span>
</td>
<td class="nump">1,398<span></span>
</td>
</tr>
<tr class="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 );">Inventory, Raw Materials, Gross</a></td>
<td class="nump">5,725<span></span>
</td>
<td class="nump">3,730<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_InventoryNet', window );">Inventories (note 2)</a></td>
<td class="nump">$ 8,814<span></span>
</td>
<td class="nump">$ 6,596<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_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R74.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="idm139865942341328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance as of January 1</a></td>
<td class="nump">$ 14,098<span></span>
</td>
<td class="nump">$ 14,164<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Effect of foreign exchange</a></td>
<td class="num">(744)<span></span>
</td>
<td class="num">(66)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Subtractions as a result of impairment</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_Goodwill', window );">Total Goodwill as of December 31</a></td>
<td class="nump">$ 13,354<span></span>
</td>
<td class="nump">$ 14,098<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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13777-109266<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R75.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="idm139865944965200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedPatentsGross', window );">Finite-Lived Patents, Gross</a></td>
<td class="nump">$ 2,198<span></span>
</td>
<td class="nump">$ 2,212<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedNoncompeteAgreementsGross', window );">Finite-Lived Noncompete Agreements, Gross</a></td>
<td class="nump">121<span></span>
</td>
<td class="nump">135<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedTrademarksGross', window );">Finite-Lived Trademarks, Gross</a></td>
<td class="nump">8,887<span></span>
</td>
<td class="nump">9,930<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedCustomerRelationshipsGross', window );">Finite-Lived Customer Relationships, Gross</a></td>
<td class="nump">8,635<span></span>
</td>
<td class="nump">9,678<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherFiniteLivedIntangibleAssetsGross', window );">Other Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">21,000<span></span>
</td>
<td class="nump">21,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_OperatingLeaseRightOfUseAsset', window );">Right-of-Use Asset</a></td>
<td class="nump">$ 395<span></span>
</td>
<td class="nump">$ 449<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Right-of-Use Asset, Statement of Financial Position</a></td>
<td class="text">Other intangible assets (note 2)<span></span>
</td>
<td class="text">Other intangible assets (note 2)<span></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_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross', window );">Regulatory approvals &amp; product certifications</a></td>
<td class="nump">$ 11,519<span></span>
</td>
<td class="nump">$ 12,910<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_FiniteLivedIntangibleAssetsGross', window );">Other intangible assets (note 2)</a></td>
<td class="nump">52,755<span></span>
</td>
<td class="nump">56,314<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Other intangible assets - accumulated amortization</a></td>
<td class="num">(42,378)<span></span>
</td>
<td class="num">(38,552)<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_FiniteLivedIntangibleAssetsNet', window );">Finite-Lived Intangible Assets, Net</a></td>
<td class="nump">$ 10,377<span></span>
</td>
<td class="nump">$ 17,762<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Regulatory approvals &amp; product certifications, as of the indicated date.</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_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedCustomerRelationshipsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date to an asset acquired in a business combination representing a favorable existing relationship with customers having a finite beneficial life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedCustomerRelationshipsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedNoncompeteAgreementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date of payments made to third parties in exchange for their agreement not to engage in specified competitive practices in specified geographic territories for a specified period of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedNoncompeteAgreementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedPatentsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedPatentsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedTrademarksGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date for the rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style for a specified period of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedTrademarksGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes operating lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</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_OtherFiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization of finite-lived intangible assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherFiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>92
<FILENAME>R76.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="idm139865942389840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued Income Taxes, Current</a></td>
<td class="nump">$ 337<span></span>
</td>
<td class="nump">$ 36<span></span>
</td>
</tr>
<tr class="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 );">Employee-related Liabilities, Current</a></td>
<td class="nump">1,318<span></span>
</td>
<td class="nump">1,225<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LitigationReserveCurrent', window );">Estimated Litigation Liability, Current</a></td>
<td class="nump">204<span></span>
</td>
<td class="nump">96<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">2,883<span></span>
</td>
<td class="nump">1,627<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_AccruedLiabilitiesCurrent', window );">Accrued expenses (note 2)</a></td>
<td class="nump">$ 4,742<span></span>
</td>
<td class="nump">$ 2,984<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_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationReserveCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of reserve for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs, which is expected to be paid within one year of the date of the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationReserveCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>93
<FILENAME>R77.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="idm139865942256560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="12">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">$ 13,575<span></span>
</td>
<td class="nump">$ 12,955<span></span>
</td>
<td class="nump">$ 13,428<span></span>
</td>
<td class="nump">$ 12,323<span></span>
</td>
<td class="nump">$ 12,914<span></span>
</td>
<td class="nump">$ 12,572<span></span>
</td>
<td class="nump">$ 12,604<span></span>
</td>
<td class="nump">$ 10,964<span></span>
</td>
<td class="nump">$ 12,010<span></span>
</td>
<td class="nump">$ 10,479<span></span>
</td>
<td class="nump">$ 8,787<span></span>
</td>
<td class="nump">$ 10,902<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
<td class="nump">$ 49,054<span></span>
</td>
<td class="nump">$ 42,178<span></span>
</td>
</tr>
<tr class="re">
<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">8,327<span></span>
</td>
<td class="nump">8,186<span></span>
</td>
<td class="nump">8,151<span></span>
</td>
<td class="nump">7,533<span></span>
</td>
<td class="nump">8,112<span></span>
</td>
<td class="nump">8,073<span></span>
</td>
<td class="nump">7,785<span></span>
</td>
<td class="nump">6,947<span></span>
</td>
<td class="nump">7,265<span></span>
</td>
<td class="nump">6,497<span></span>
</td>
<td class="nump">4,950<span></span>
</td>
<td class="nump">6,836<span></span>
</td>
<td class="nump">32,196<span></span>
</td>
<td class="nump">30,917<span></span>
</td>
<td class="nump">25,548<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income</a></td>
<td class="nump">$ 4,555<span></span>
</td>
<td class="nump">$ 4,280<span></span>
</td>
<td class="nump">$ 4,103<span></span>
</td>
<td class="nump">$ 3,534<span></span>
</td>
<td class="nump">$ 4,131<span></span>
</td>
<td class="nump">$ 4,206<span></span>
</td>
<td class="nump">$ 3,426<span></span>
</td>
<td class="nump">$ 3,024<span></span>
</td>
<td class="nump">$ 3,412<span></span>
</td>
<td class="nump">$ 2,933<span></span>
</td>
<td class="nump">$ 1,313<span></span>
</td>
<td class="nump">$ 3,140<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
<td class="nump">$ 14,788<span></span>
</td>
<td class="nump">$ 10,798<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings Per Share Diluted</a></td>
<td class="nump">$ 1.25<span></span>
</td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="nump">$ 1.12<span></span>
</td>
<td class="nump">$ 0.96<span></span>
</td>
<td class="nump">$ 1.13<span></span>
</td>
<td class="nump">$ 1.15<span></span>
</td>
<td class="nump">$ 0.94<span></span>
</td>
<td class="nump">$ 0.83<span></span>
</td>
<td class="nump">$ 0.94<span></span>
</td>
<td class="nump">$ 0.80<span></span>
</td>
<td class="nump">$ 0.36<span></span>
</td>
<td class="nump">$ 0.84<span></span>
</td>
<td class="nump">$ 4.52<span></span>
</td>
<td class="nump">$ 4.04<span></span>
</td>
<td class="nump">$ 2.94<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_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>94
<FILENAME>R78.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="idm139865946149840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 4 - Property and Equipment: Property, Plant and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">$ 1,593<span></span>
</td>
<td class="nump">$ 1,690<span></span>
</td>
</tr>
<tr class="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, Gross</a></td>
<td class="nump">13,601<span></span>
</td>
<td class="nump">14,172<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">17,068<span></span>
</td>
<td class="nump">16,660<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">906<span></span>
</td>
<td class="nump">898<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_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">33,168<span></span>
</td>
<td class="nump">33,420<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(22,944)<span></span>
</td>
<td class="num">(22,802)<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_PropertyPlantAndEquipmentNet', window );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">$ 10,224<span></span>
</td>
<td class="nump">$ 10,618<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Land">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Land</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>95
<FILENAME>R79.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="idm139865945567184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">$ 1,593<span></span>
</td>
<td class="nump">$ 1,690<span></span>
</td>
</tr>
<tr class="ro">
<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, Gross</a></td>
<td class="nump">13,601<span></span>
</td>
<td class="nump">14,172<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">17,068<span></span>
</td>
<td class="nump">16,660<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">906<span></span>
</td>
<td class="nump">898<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">33,168<span></span>
</td>
<td class="nump">33,420<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(22,944)<span></span>
</td>
<td class="num">(22,802)<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 );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">10,224<span></span>
</td>
<td class="nump">10,618<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=fil_U.S.AndCanadaMember', window );">U.S. and Canada</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_Land', window );">Land</a></td>
<td class="nump">621<span></span>
</td>
<td class="nump">621<span></span>
</td>
</tr>
<tr class="ro">
<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, Gross</a></td>
<td class="nump">6,566<span></span>
</td>
<td class="nump">6,541<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">14,950<span></span>
</td>
<td class="nump">14,608<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">412<span></span>
</td>
<td class="nump">412<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">22,549<span></span>
</td>
<td class="nump">22,182<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(18,369)<span></span>
</td>
<td class="num">(18,168)<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 );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">4,180<span></span>
</td>
<td class="nump">4,014<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=fil_EnglandAndAustraliaMember', window );">England and Australia</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_Land', window );">Land</a></td>
<td class="nump">605<span></span>
</td>
<td class="nump">678<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and Improvements, Gross</a></td>
<td class="nump">3,043<span></span>
</td>
<td class="nump">3,384<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">693<span></span>
</td>
<td class="nump">752<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2<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">4,341<span></span>
</td>
<td class="nump">4,816<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(1,229)<span></span>
</td>
<td class="num">(1,164)<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 );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">3,112<span></span>
</td>
<td class="nump">3,652<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_IE', window );">IRELAND</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_Land', window );">Land</a></td>
<td class="nump">367<span></span>
</td>
<td class="nump">391<span></span>
</td>
</tr>
<tr class="ro">
<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, Gross</a></td>
<td class="nump">3,992<span></span>
</td>
<td class="nump">4,247<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">1,425<span></span>
</td>
<td class="nump">1,300<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">494<span></span>
</td>
<td class="nump">484<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">6,278<span></span>
</td>
<td class="nump">6,422<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(3,346)<span></span>
</td>
<td class="num">(3,470)<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 );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">$ 2,932<span></span>
</td>
<td class="nump">$ 2,952<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Land">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Land</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fil_U.S.AndCanadaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_U.S.AndCanadaMember</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=fil_EnglandAndAustraliaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EnglandAndAustraliaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_IE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IE</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>96
<FILENAME>R80.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="idm139865942418240">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Long-term Debt (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-Term Debt</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>97
<FILENAME>R81.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="idm139865945675008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Commitments and Contingencies (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LitigationExpense', window );">Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI</a></td>
<td class="nump">$ 670,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Standard and Extended Product Warranty Accrual</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LitigationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Litigation Expense, during the indicated time period.</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_LitigationExpense</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_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R82.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="idm139865942237264">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Deferred Tax Assets, Inventory</a></td>
<td class="nump">$ 103<span></span>
</td>
<td class="nump">$ 88<span></span>
</td>
<td class="nump">$ 86<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss</a></td>
<td class="nump">39<span></span>
</td>
<td class="nump">31<span></span>
</td>
<td class="nump">32<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</a></td>
<td class="nump">90<span></span>
</td>
<td class="nump">58<span></span>
</td>
<td class="nump">68<span></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_DeferredTaxLiabilitiesDepreciationAndAmortization', window );">Deferred Tax Liabilities Depreciation and Amortization</a></td>
<td class="num">(2,295)<span></span>
</td>
<td class="num">(2,859)<span></span>
</td>
<td class="num">(3,034)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Deferred Tax Liabilities, Net</a></td>
<td class="num">$ (2,063)<span></span>
</td>
<td class="num">$ (2,682)<span></span>
</td>
<td class="num">$ (2,848)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_DeferredTaxLiabilitiesDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Deferred Tax Liabilities Depreciation and Amortization, as of the indicated date.</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_DeferredTaxLiabilitiesDepreciationAndAmortization</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R83.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="idm139865945146432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current Income Tax Expense (Benefit)</a></td>
<td class="nump">$ 4,632<span></span>
</td>
<td class="nump">$ 3,983<span></span>
</td>
<td class="nump">$ 3,253<span></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_DeferredIncomeTaxExpense', window );">Deferred Income Tax Expense</a></td>
<td class="num">(446)<span></span>
</td>
<td class="nump">290<span></span>
</td>
<td class="num">(211)<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_IncomeTaxExpenseBenefit', window );">Provision for income taxes (note 7)</a></td>
<td class="nump">$ 4,186<span></span>
</td>
<td class="nump">$ 4,273<span></span>
</td>
<td class="nump">$ 3,042<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_DeferredIncomeTaxExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Deferred Income Tax Expense, during the indicated time period.</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_DeferredIncomeTaxExpense</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_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R84.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="idm139865945980800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</a></td>
<td class="nump">$ 2,620<span></span>
</td>
<td class="nump">$ 2,520<span></span>
</td>
<td class="nump">$ 1,915<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</a></td>
<td class="nump">490<span></span>
</td>
<td class="nump">448<span></span>
</td>
<td class="nump">369<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential', window );">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount</a></td>
<td class="nump">1,129<span></span>
</td>
<td class="nump">1,010<span></span>
</td>
<td class="nump">550<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxCreditsResearch', window );">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount</a></td>
<td class="num">(3)<span></span>
</td>
<td class="num">(6)<span></span>
</td>
<td class="num">(7)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount', window );">Effective Income Tax Rate Reconciliation Tax Cuts And Jobs Act Of 2017 Transition Tax On Accumulated Foreign Earnings Amount</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">263<span></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_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense', window );">Tax Cuts and Jobs Act of 2017 Global Intangible Low Taxed Income Income Tax Expense</a></td>
<td class="num">(90)<span></span>
</td>
<td class="num">(99)<span></span>
</td>
<td class="num">(35)<span></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_AdjustmentToDeferredTaxLiability', window );">Adjustment To Deferred Tax Liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">391<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_IncomeTaxReconciliationOtherAdjustments', window );">Effective Income Tax Rate Reconciliation, Other Adjustments, Amount</a></td>
<td class="nump">40<span></span>
</td>
<td class="nump">9<span></span>
</td>
<td class="num">(13)<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_IncomeTaxExpenseBenefit', window );">Provision for income taxes (note 7)</a></td>
<td class="nump">$ 4,186<span></span>
</td>
<td class="nump">$ 4,273<span></span>
</td>
<td class="nump">$ 3,042<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_AdjustmentToDeferredTaxLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Adjustment To Deferred Tax Liability, during the indicated time period.</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_AdjustmentToDeferredTaxLiability</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_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Tax Cuts and Jobs Act of 2017 Global Intangible Low Taxed Income Income Tax Expense, during the indicated time period.</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_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense</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_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to increase (decrease) from transition tax on accumulated earnings of controlled foreign corporation deemed repatriated pursuant to Tax Cuts and Jobs 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R85.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="idm139865944928848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Income (Loss) from Continuing Operations before Income Taxes, Domestic</a></td>
<td class="nump">$ 12,475<span></span>
</td>
<td class="nump">$ 12,004<span></span>
</td>
<td class="nump">$ 9,031<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Income (Loss) from Continuing Operations before Income Taxes, Foreign</a></td>
<td class="nump">8,184<span></span>
</td>
<td class="nump">7,057<span></span>
</td>
<td class="nump">4,809<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">$ 20,659<span></span>
</td>
<td class="nump">$ 19,061<span></span>
</td>
<td class="nump">$ 13,840<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R86.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="idm139865941757104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</a></td>
<td class="nump">509<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</a></td>
<td class="nump">67<span></span>
</td>
<td class="nump">52<span></span>
</td>
<td class="nump">69<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions', window );">Share-Based Payment Arrangement, Exercise of Option, Tax Benefit</a></td>
<td class="nump">$ 6<span></span>
</td>
<td class="nump">$ 39<span></span>
</td>
<td class="nump">$ 7<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 183<span></span>
</td>
<td class="nump">166<span></span>
</td>
<td class="nump">$ 160<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">$ 25.34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16.17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</a></td>
<td class="nump">$ 501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months</a></td>
<td class="nump">$ 199<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition</a></td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years</a></td>
<td class="nump">$ 302<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years Period For Recognition</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</a></td>
<td class="nump">$ 141<span></span>
</td>
<td class="nump">591<span></span>
</td>
<td class="nump">$ 371<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</a></td>
<td class="nump">$ 1,812<span></span>
</td>
<td class="nump">$ 1,595<span></span>
</td>
<td class="nump">$ 1,178<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months, as of the indicated date.</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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition, during the indicated time period.</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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition</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:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years, as of the indicated date.</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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years Period For Recognition, during the indicated time period.</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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition</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:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax benefit from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>103
<FILENAME>R87.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="idm139865942233056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures</a></td>
<td class="nump">21<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">26<span></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_PriceRangePerShareGranted', window );">Price Range Per Share Granted</a></td>
<td class="text">82.60 - 82.60<span></span>
</td>
<td class="text">- - -<span></span>
</td>
<td class="text">77.05 - 77.05<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">1<span></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_PriceRangePerShareExpired', window );">Price Range Per Share Expired</a></td>
<td class="text">33.30 - 77.05<span></span>
</td>
<td class="text">74.64 - 77.05<span></span>
</td>
<td class="text">58.50 - 77.05<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_PriceRangePerShareExercised', window );">Price Range Per Share Exercised</a></td>
<td class="text">33.30 - 77.05<span></span>
</td>
<td class="text">26.52 - 77.05<span></span>
</td>
<td class="text">26.52 - 74.64<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</a></td>
<td class="nump">67<span></span>
</td>
<td class="nump">52<span></span>
</td>
<td class="nump">69<span></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_PriceRangePerShareOutstanding', window );">Price Range Per Share Outstanding</a></td>
<td class="text">33.30 - 77.05<span></span>
</td>
<td class="text">33.30 - 77.05<span></span>
</td>
<td class="text">26.52 - 77.05<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</a></td>
<td class="nump">40<span></span>
</td>
<td class="nump">34<span></span>
</td>
<td class="nump">33<span></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_PriceRangePerShareTotalExercisable', window );">Price Range Per Share Total Exercisable</a></td>
<td class="text">33.30 - 77.05<span></span>
</td>
<td class="text">33.30 - 77.05<span></span>
</td>
<td class="text">26.52 - 74.64<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_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock</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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options, shares</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">14<span></span>
</td>
<td class="nump">8<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_PriceRangePerShareExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the description of Price Range Per Share Exercised, during the indicated time period.</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_PriceRangePerShareExercised</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: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_fil_PriceRangePerShareExpired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the description of Price Range Per Share Expired, during the indicated time period.</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_PriceRangePerShareExpired</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: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_fil_PriceRangePerShareGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the description of Price Range Per Share Granted, during the indicated time period.</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_PriceRangePerShareGranted</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: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_fil_PriceRangePerShareOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the description of Price Range Per Share Outstanding, during the indicated time period.</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_PriceRangePerShareOutstanding</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: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_fil_PriceRangePerShareTotalExercisable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the description of Price Range Per Share Total Exercisable, during the indicated time period.</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_PriceRangePerShareTotalExercisable</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:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R88.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="idm139865944935760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2020</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Payments</a></td>
<td class="nump">$ 0.3050<span></span>
</td>
<td class="nump">$ 0.2943<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate</a></td>
<td class="nump">29.87%<span></span>
</td>
<td class="nump">27.50%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</a></td>
<td class="nump">4.09%<span></span>
</td>
<td class="nump">0.56%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</a></td>
<td class="text">5 years 8 months 12 days<span></span>
</td>
<td class="text">5 years 3 months 18 days<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated amount of dividends to be paid to holders of the underlying shares (expected dividends) over the option's term. Dividends are taken into account because payment of dividends to shareholders reduces the fair value of the underlying shares, and option holders generally do not receive dividends.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>105
<FILENAME>R89.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="idm139865941617648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</a></td>
<td class="nump">$ 49.18<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</a></td>
<td class="nump">$ 82.60<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding | shares</a></td>
<td class="nump">67,433<span></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_WeightedAverageRemainingContractualLifeYears', window );">Weighted Average Remaining Contractual Life (Years)</a></td>
<td class="nump">6.86<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 73.66<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares</a></td>
<td class="nump">39,749<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 68.42<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=fil_Range1Member', window );">Range 1</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</a></td>
<td class="nump">49.18<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</a></td>
<td class="nump">$ 58.50<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding | shares</a></td>
<td class="nump">13,762<span></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_WeightedAverageRemainingContractualLifeYears', window );">Weighted Average Remaining Contractual Life (Years)</a></td>
<td class="nump">2.68<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 54.12<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares</a></td>
<td class="nump">13,762<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 54.12<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_StatementScenarioAxis=fil_Range2Member', window );">Range 2</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</a></td>
<td class="nump">74.64<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</a></td>
<td class="nump">$ 77.05<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding | shares</a></td>
<td class="nump">33,071<span></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_WeightedAverageRemainingContractualLifeYears', window );">Weighted Average Remaining Contractual Life (Years)</a></td>
<td class="nump">6.79<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 76.22<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares</a></td>
<td class="nump">25,987<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 75.99<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_StatementScenarioAxis=fil_Range3Member', window );">Range 3</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</a></td>
<td class="nump">82.60<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</a></td>
<td class="nump">$ 82.60<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding | shares</a></td>
<td class="nump">20,600<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_WeightedAverageRemainingContractualLifeYears', window );">Weighted Average Remaining Contractual Life (Years)</a></td>
<td class="nump">9.78<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 82.60<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares</a></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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 0.00<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_WeightedAverageRemainingContractualLifeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Weighted Average Remaining Contractual Life (Years), as of the indicated date.</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_WeightedAverageRemainingContractualLifeYears</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:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit</td>
</tr>
<tr>
<td style="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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1</td>
</tr>
<tr>
<td style="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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1</td>
</tr>
<tr>
<td style="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_srt_StatementScenarioAxis=fil_Range1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementScenarioAxis=fil_Range1Member</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_StatementScenarioAxis=fil_Range2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementScenarioAxis=fil_Range2Member</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_StatementScenarioAxis=fil_Range3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementScenarioAxis=fil_Range3Member</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>106
<FILENAME>R90.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="idm139865946571552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Geographic Information: Schedule Of Geographic Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CompanySalesInTheUnitedStates', window );">Company Sales in the United States</a></td>
<td class="nump">$ 34,524<span></span>
</td>
<td class="nump">$ 31,758<span></span>
</td>
<td class="nump">$ 26,175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CompanySalesInEurope', window );">Company Sales in Europe</a></td>
<td class="nump">7,214<span></span>
</td>
<td class="nump">7,434<span></span>
</td>
<td class="nump">6,399<span></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_CompanySalesOther', window );">Company Sales Other</a></td>
<td class="nump">$ 10,543<span></span>
</td>
<td class="nump">$ 9,862<span></span>
</td>
<td class="nump">$ 9,604<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_CompanySalesInEurope">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Company Sales in Europe, during the indicated time period.</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_CompanySalesInEurope</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_CompanySalesInTheUnitedStates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Company Sales in the United States, during the indicated time period.</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_CompanySalesInTheUnitedStates</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_CompanySalesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Company Sales Other, during the indicated time period.</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_CompanySalesOther</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_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>107
<FILENAME>R91.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="idm139865947553808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LongLivedAssetsInTheUnitedStates', window );">Long-lived assets in the United States</a></td>
<td class="nump">$ 14,875<span></span>
</td>
<td class="nump">$ 19,104<span></span>
</td>
<td class="nump">$ 23,327<span></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_LongLivedAssetsInEngland', window );">Long-lived assets in England</a></td>
<td class="nump">15,184<span></span>
</td>
<td class="nump">19,339<span></span>
</td>
<td class="nump">21,871<span></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_LongLivedAssetsInIreland', window );">Long-lived assets in Ireland</a></td>
<td class="nump">2,954<span></span>
</td>
<td class="nump">2,990<span></span>
</td>
<td class="nump">3,173<span></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_LongLivedAssetsInAustralia', window );">Long-lived assets in Australia</a></td>
<td class="nump">337<span></span>
</td>
<td class="nump">392<span></span>
</td>
<td class="nump">440<span></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_LongLivedAssetsInCanada', window );">Long-lived assets in Canada</a></td>
<td class="nump">$ 593<span></span>
</td>
<td class="nump">$ 653<span></span>
</td>
<td class="nump">$ 672<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInAustralia">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in Australia, as of the indicated date.</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_LongLivedAssetsInAustralia</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInCanada">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in Canada, as of the indicated date.</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_LongLivedAssetsInCanada</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInEngland">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in England, as of the indicated date.</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_LongLivedAssetsInEngland</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInIreland">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in Ireland, as of the indicated date.</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_LongLivedAssetsInIreland</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInTheUnitedStates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in the United States, as of the indicated date.</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_LongLivedAssetsInTheUnitedStates</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>instant</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>108
<FILENAME>R92.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="idm139865945488368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="12">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="nump">$ 13,575<span></span>
</td>
<td class="nump">$ 12,955<span></span>
</td>
<td class="nump">$ 13,428<span></span>
</td>
<td class="nump">$ 12,323<span></span>
</td>
<td class="nump">$ 12,914<span></span>
</td>
<td class="nump">$ 12,572<span></span>
</td>
<td class="nump">$ 12,604<span></span>
</td>
<td class="nump">$ 10,964<span></span>
</td>
<td class="nump">$ 12,010<span></span>
</td>
<td class="nump">$ 10,479<span></span>
</td>
<td class="nump">$ 8,787<span></span>
</td>
<td class="nump">$ 10,902<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
<td class="nump">$ 49,054<span></span>
</td>
<td class="nump">$ 42,178<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=fil_GlobalMember', window );">Global</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,281<span></span>
</td>
<td class="nump">49,054<span></span>
</td>
<td class="nump">42,178<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=fil_GlobalMember', window );">Global | Obstetrics</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,661<span></span>
</td>
<td class="nump">4,675<span></span>
</td>
<td class="nump">4,523<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=fil_GlobalMember', window );">Global | Gynecology/Electrosurgery/Urology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,841<span></span>
</td>
<td class="nump">21,973<span></span>
</td>
<td class="nump">20,552<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=fil_GlobalMember', window );">Global | Neonatal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,567<span></span>
</td>
<td class="nump">6,691<span></span>
</td>
<td class="nump">5,870<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=fil_GlobalMember', window );">Global | Blood Pressure Monitoring and Accessories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,212<span></span>
</td>
<td class="nump">$ 15,715<span></span>
</td>
<td class="nump">$ 11,233<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fil_GlobalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GlobalMember</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_ObstetricsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ObstetricsMember</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_GynecologyElectrosurgeryUrologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GynecologyElectrosurgeryUrologyMember</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_NeonatalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NeonatalMember</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_BloodPressureMonitoringandAccessoriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BloodPressureMonitoringandAccessoriesMember</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>109
<FILENAME>R93.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="idm139865940603648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="12">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="nump">$ 13,575<span></span>
</td>
<td class="nump">$ 12,955<span></span>
</td>
<td class="nump">$ 13,428<span></span>
</td>
<td class="nump">$ 12,323<span></span>
</td>
<td class="nump">$ 12,914<span></span>
</td>
<td class="nump">$ 12,572<span></span>
</td>
<td class="nump">$ 12,604<span></span>
</td>
<td class="nump">$ 10,964<span></span>
</td>
<td class="nump">$ 12,010<span></span>
</td>
<td class="nump">$ 10,479<span></span>
</td>
<td class="nump">$ 8,787<span></span>
</td>
<td class="nump">$ 10,902<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
<td class="nump">$ 49,054<span></span>
</td>
<td class="nump">$ 42,178<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=fil_OusMember', window );">OUS</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,310<span></span>
</td>
<td class="nump">18,395<span></span>
</td>
<td class="nump">16,312<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=fil_OusMember', window );">OUS | Obstetrics</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">676<span></span>
</td>
<td class="nump">735<span></span>
</td>
<td class="nump">846<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=fil_OusMember', window );">OUS | Gynecology/Electrosurgery/Urology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,603<span></span>
</td>
<td class="nump">11,053<span></span>
</td>
<td class="nump">9,934<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=fil_OusMember', window );">OUS | Neonatal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,517<span></span>
</td>
<td class="nump">1,347<span></span>
</td>
<td class="nump">1,490<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=fil_OusMember', window );">OUS | Blood Pressure Monitoring and Accessories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,514<span></span>
</td>
<td class="nump">$ 5,260<span></span>
</td>
<td class="nump">$ 4,042<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fil_OusMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OusMember</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_ObstetricsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ObstetricsMember</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_GynecologyElectrosurgeryUrologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GynecologyElectrosurgeryUrologyMember</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_NeonatalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NeonatalMember</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_BloodPressureMonitoringandAccessoriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BloodPressureMonitoringandAccessoriesMember</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>110
<FILENAME>R94.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="idm139865946656224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Product Sale and Purchase Commitments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RoyaltyIncomeNonoperating', window );">Royalty income (note 12)</a></td>
<td class="nump">$ 20<span></span>
</td>
<td class="nump">$ 15<span></span>
</td>
<td class="nump">$ 20<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractualObligation', window );">Contractual Obligation</a></td>
<td class="nump">$ 5,242<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractualObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contractual obligation, including but not limited to, long-term debt, capital lease obligations, operating lease obligations, purchase obligations, and other commitments.</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_ContractualObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RoyaltyIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RoyaltyIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R95.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="idm139865941862640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Employee Benefit Plans (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Defined Contribution Plan, Employer Discretionary Contribution Amount</a></td>
<td class="nump">$ 159<span></span>
</td>
<td class="nump">$ 165<span></span>
</td>
<td class="nump">$ 167<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of discretionary contributions made by an employer to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>R96.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="idm139865945027200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LesseeOperatingLeaseForParkingLotTermOfContract', window );">Lessee Operating Lease for Parking Lot Term of Contract</a></td>
<td class="text">9 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_LesseeOperatingLeaseForAutomobileTermOfContract', window );">Lessee Operating Lease for Automobile Term of Contract</a></td>
<td class="text">18 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI', window );">Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 87<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_OperatingLeaseCost', window );">Operating Lease, Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 64<span></span>
</td>
<td class="nump">$ 63<span></span>
</td>
<td class="nump">$ 61<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LesseeOperatingLeaseForAutomobileTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Lessee Operating Lease for Automobile Term of Contract, during the indicated time period.</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_LesseeOperatingLeaseForAutomobileTermOfContract</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:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI, during the indicated time period.</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_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI</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_fil_LesseeOperatingLeaseForParkingLotTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Lessee Operating Lease for Parking Lot Term of Contract, during the indicated time period.</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_LesseeOperatingLeaseForParkingLotTermOfContract</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:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<FILENAME>R97.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="idm139865945146432">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 14 - Leases: Reconciliation of operating lease liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-Use Asset</a></td>
<td class="nump">$ 395<span></span>
</td>
<td class="nump">$ 449<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position</a></td>
<td class="text">Accrued expenses (note 2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating Lease, Liability, Current</a></td>
<td class="nump">$ 54<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_OperatingLeaseLiabilityNoncurrent', window );">Long term lease liability</a></td>
<td class="nump">341<span></span>
</td>
<td class="nump">$ 396<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating Lease, Liability</a></td>
<td class="nump">$ 395<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</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_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>114
<FILENAME>R98.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="idm139865946149584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">Lessee, Operating Lease, Liability, to be Paid, Year One</a></td>
<td class="nump">$ 54<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">Lessee, Operating Lease, Liability, to be Paid, Year Two</a></td>
<td class="nump">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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">Lessee, Operating Lease, Liability, to be Paid, Year Three</a></td>
<td class="nump">41<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">Lessee, Operating Lease, Liability, to be Paid, Year Four</a></td>
<td class="nump">42<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">Lessee, Operating Lease, Liability, to be Paid, Year Five</a></td>
<td class="nump">43<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Lessee, Operating Lease, Liability, to be Paid, after Year Five</a></td>
<td class="nump">169<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Lessee, Operating Lease, Liability, to be Paid</a></td>
<td class="nump">442<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</a></td>
<td class="num">(47)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating Lease, Liability</a></td>
<td class="nump">$ 395<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating Lease, Weighted Average Remaining Lease Term</a></td>
<td class="text">8 years 2 months 12 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating Lease, Weighted Average Discount Rate, Percent</a></td>
<td class="nump">3.30%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>115
<FILENAME>R99.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="idm139865946358992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - CSI Distribution Agreement Purchase Disclosure (Details) - CooperSurgical Inc<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-Lived Intangible Assets Acquired</a></td>
<td class="nump">$ 21,000<span></span>
</td>
<td class="nump">$ 21,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem', window );">Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.75<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System, during the indicated time period.</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_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem</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:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinitelivedIntangibleAssetsAcquired1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinitelivedIntangibleAssetsAcquired1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember</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>116
<FILENAME>R100.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="idm139865946121680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="12">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 4,555<span></span>
</td>
<td class="nump">$ 4,280<span></span>
</td>
<td class="nump">$ 4,103<span></span>
</td>
<td class="nump">$ 3,534<span></span>
</td>
<td class="nump">$ 4,131<span></span>
</td>
<td class="nump">$ 4,206<span></span>
</td>
<td class="nump">$ 3,426<span></span>
</td>
<td class="nump">$ 3,024<span></span>
</td>
<td class="nump">$ 3,412<span></span>
</td>
<td class="nump">$ 2,933<span></span>
</td>
<td class="nump">$ 1,313<span></span>
</td>
<td class="nump">$ 3,140<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
<td class="nump">$ 14,788<span></span>
</td>
<td class="nump">$ 10,798<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares, basic</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,637<span></span>
</td>
<td class="nump">3,647<span></span>
</td>
<td class="nump">3,658<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Dilutive effect of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">13<span></span>
</td>
<td class="nump">14<span></span>
</td>
</tr>
<tr class="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 shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,643<span></span>
</td>
<td class="nump">3,660<span></span>
</td>
<td class="nump">3,672<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Earnings per share, basic</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.53<span></span>
</td>
<td class="nump">$ 4.05<span></span>
</td>
<td class="nump">$ 2.95<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings Per Share Diluted</a></td>
<td class="nump">$ 1.25<span></span>
</td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="nump">$ 1.12<span></span>
</td>
<td class="nump">$ 0.96<span></span>
</td>
<td class="nump">$ 1.13<span></span>
</td>
<td class="nump">$ 1.15<span></span>
</td>
<td class="nump">$ 0.94<span></span>
</td>
<td class="nump">$ 0.83<span></span>
</td>
<td class="nump">$ 0.94<span></span>
</td>
<td class="nump">$ 0.80<span></span>
</td>
<td class="nump">$ 0.36<span></span>
</td>
<td class="nump">$ 0.84<span></span>
</td>
<td class="nump">$ 4.52<span></span>
</td>
<td class="nump">$ 4.04<span></span>
</td>
<td class="nump">$ 2.94<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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>117
<FILENAME>utmd-20221231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022q4"
  xmlns:fil="http://www.utahmed.com/20221231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="utmd-20221231.xsd" xlink:type="simple"/>
    <context id="Y22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="I230324">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2023-03-24</instant>
        </period>
    </context>
    <context id="D221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-12-31</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="E20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Y22_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E19_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="E19_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="E19_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="E19_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Y20_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="E20_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="E20_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Y21_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="E21_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</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">0000706698</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-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</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">0000706698</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="E22_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</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">0000706698</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-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</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">0000706698</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="Y22_Range-Minimum_PpeByType-BuildingAndBuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Maximum_PpeByType-BuildingAndBuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Minimum_PpeByType-Equipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Maximum_PpeByType-Equipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Minimum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Maximum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="fil:DistributionRightsAcquisitionAxis">fil:CoopersurgicalIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="E22_DistributionRightsAcquisition-CoopersurgicalInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="fil:DistributionRightsAcquisitionAxis">fil:CoopersurgicalIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y22Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="Y22Q3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="Y22Q4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="Y21Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="Y21Q3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="Y21Q4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Y20Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="Y20Q3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="Y20Q4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="E22_StGeo-U.S.AndCanada">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:U.S.AndCanadaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StGeo-EnglandAndAustralia">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:EnglandAndAustraliaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_StGeo-IE">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E21_StGeo-U.S.AndCanada">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:U.S.AndCanadaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StGeo-EnglandAndAustralia">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:EnglandAndAustraliaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_StGeo-IE">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y22_StScenario-Range1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22_StScenario-Range1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y22_StScenario-Range2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22_StScenario-Range2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y22_StScenario-Range3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22_StScenario-Range3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y22_ProductOrService-Obstetrics_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Obstetrics_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Obstetrics_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Neonatal_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Neonatal_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Neonatal_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Obstetrics_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Obstetrics_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Obstetrics_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Neonatal_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-Neonatal_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-Neonatal_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringandAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y21_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Y20_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Y22_DistributionRightsAcquisition-CoopersurgicalInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="fil:DistributionRightsAcquisitionAxis">fil:CoopersurgicalIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="UsdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="Y22" id="fact1">0000706698</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="Y22" id="fact2">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="Y22" id="fact3">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="Y22" id="fact4">FY</dei:DocumentFiscalPeriodFocus>
    <us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList contextRef="E22" id="fact5">http://fasb.org/us-gaap/2022#FiniteLivedIntangibleAssetsGross</us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList contextRef="E21" id="fact6">http://fasb.org/us-gaap/2022#FiniteLivedIntangibleAssetsGross</us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="E22" id="fact7">http://fasb.org/us-gaap/2022#AccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <dei:DocumentType contextRef="Y22">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="Y22">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="Y22">2022-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="Y22">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport contextRef="Y22">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="Y22">001-12575</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="Y22">UTAH MEDICAL PRODUCTS INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="Y22">UT</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="Y22">87-0342734</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Y22">7043 South 300 West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Y22">Midvale</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Y22">UT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Y22">84047</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Y22">801</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Y22">566-1200</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="Y22">Common stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Y22">UTMD</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="Y22">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="Y22">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="Y22">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="Y22">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="Y22">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="Y22">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="Y22">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="Y22">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="Y22">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="Y22">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="Y22">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="E22Q2" decimals="INF" unitRef="USD">335723200</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding contextRef="I230324" decimals="INF" unitRef="Shares">3627992</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="Y22">The Company&#x2019;s definitive proxy statement for the Annual Meeting of Stockholders is incorporated by reference into Part III, Item 10, 11, 12, 13 and 14 of this Form 10-K.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorName contextRef="Y22">Haynie &amp;amp; Company</dei:AuditorName>
    <dei:AuditorLocation contextRef="Y22">Salt Lake City, Utah</dei:AuditorLocation>
    <dei:AuditorFirmId contextRef="Y22">457</dei:AuditorFirmId>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E22" decimals="-3" unitRef="USD">75052000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E21" decimals="-3" unitRef="USD">60974000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E22" decimals="-3" unitRef="USD">5538000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E21" decimals="-3" unitRef="USD">5132000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="E22" decimals="-3" unitRef="USD">8814000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E21" decimals="-3" unitRef="USD">6596000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent contextRef="E22" decimals="-3" unitRef="USD">515000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="E21" decimals="-3" unitRef="USD">456000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E22" decimals="-3" unitRef="USD">89919000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E21" decimals="-3" unitRef="USD">73158000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22" decimals="-3" unitRef="USD">10224000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E21" decimals="-3" unitRef="USD">10618000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill contextRef="E22" decimals="-3" unitRef="USD">13354000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="E21" decimals="-3" unitRef="USD">14098000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E22" decimals="-3" unitRef="USD">52755000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E21" decimals="-3" unitRef="USD">56314000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E22" decimals="-3" unitRef="USD">42378000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E21" decimals="-3" unitRef="USD">38552000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="E22" decimals="-3" unitRef="USD">10377000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="E21" decimals="-3" unitRef="USD">17762000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Assets contextRef="E22" decimals="-3" unitRef="USD">123874000</us-gaap:Assets>
    <us-gaap:Assets contextRef="E21" decimals="-3" unitRef="USD">115636000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="E22" decimals="-3" unitRef="USD">1218000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="E21" decimals="-3" unitRef="USD">761000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E22" decimals="-3" unitRef="USD">4742000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E21" decimals="-3" unitRef="USD">2984000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E22" decimals="-3" unitRef="USD">5960000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E21" decimals="-3" unitRef="USD">3745000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="E22" decimals="-3" unitRef="USD">341000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="E21" decimals="-3" unitRef="USD">396000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent contextRef="E22" decimals="-3" unitRef="USD">1256000</us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent>
    <us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent contextRef="E21" decimals="-3" unitRef="USD">1675000</us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="E22" decimals="-3" unitRef="USD">1514000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="E21" decimals="-3" unitRef="USD">2105000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E22" decimals="-3" unitRef="USD">549000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E21" decimals="-3" unitRef="USD">577000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities contextRef="E22" decimals="-3" unitRef="USD">9620000</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="E21" decimals="-3" unitRef="USD">8498000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies contextRef="E22" decimals="-3" unitRef="USD">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommitmentsAndContingencies contextRef="E21" decimals="-3" unitRef="USD">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="E22" decimals="INF" unitRef="UsdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="E21" decimals="INF" unitRef="UsdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="E22" decimals="-3" unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="E21" decimals="-3" unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="E22" decimals="-3" unitRef="Shares">3628000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="E22" decimals="-3" unitRef="Shares">3628000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="E21" decimals="-3" unitRef="Shares">3655000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="E21" decimals="-3" unitRef="Shares">3655000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="E22" decimals="-3" unitRef="USD">36000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="E21" decimals="-3" unitRef="USD">37000</us-gaap:CommonStockValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="E22" decimals="-3" unitRef="USD">-12039000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="E21" decimals="-3" unitRef="USD">-9054000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="E22" decimals="-3" unitRef="USD">251000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="E21" decimals="-3" unitRef="USD">841000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E22" decimals="-3" unitRef="USD">126006000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E21" decimals="-3" unitRef="USD">115314000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="E22" decimals="-3" unitRef="USD">114254000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E21" decimals="-3" unitRef="USD">107138000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E22" decimals="-3" unitRef="USD">123874000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E21" decimals="-3" unitRef="USD">115636000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22" decimals="-3" unitRef="USD">52281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21" decimals="-3" unitRef="USD">49054000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20" decimals="-3" unitRef="USD">42178000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="Y22" decimals="-3" unitRef="USD">20085000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="Y21" decimals="-3" unitRef="USD">18137000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="Y20" decimals="-3" unitRef="USD">16630000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit contextRef="Y22" decimals="-3" unitRef="USD">32196000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y21" decimals="-3" unitRef="USD">30917000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y20" decimals="-3" unitRef="USD">25548000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense contextRef="Y22" decimals="-3" unitRef="USD">1507000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="Y21" decimals="-3" unitRef="USD">1414000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="Y20" decimals="-3" unitRef="USD">1554000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="Y22" decimals="-3" unitRef="USD">493000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="Y21" decimals="-3" unitRef="USD">526000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="Y20" decimals="-3" unitRef="USD">486000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="Y22" decimals="-3" unitRef="USD">10406000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="Y21" decimals="-3" unitRef="USD">10097000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="Y20" decimals="-3" unitRef="USD">9800000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="Y22" decimals="-3" unitRef="USD">19790000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y21" decimals="-3" unitRef="USD">18880000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y20" decimals="-3" unitRef="USD">13708000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherInterestAndDividendIncome contextRef="Y22" decimals="-3" unitRef="USD">661000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherInterestAndDividendIncome contextRef="Y21" decimals="-3" unitRef="USD">166000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherInterestAndDividendIncome contextRef="Y20" decimals="-3" unitRef="USD">112000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y22" decimals="-3" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y21" decimals="-3" unitRef="USD">15000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y20" decimals="-3" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y22" decimals="-3" unitRef="USD">188000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y21" decimals="-3" unitRef="USD">0</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y20" decimals="-3" unitRef="USD">0</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y22" decimals="-3" unitRef="USD">20659000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y21" decimals="-3" unitRef="USD">19061000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y20" decimals="-3" unitRef="USD">13840000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" unitRef="USD">4273000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y20" decimals="-3" unitRef="USD">3042000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21" decimals="-3" unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y20" decimals="-3" unitRef="USD">10798000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareBasic contextRef="Y22" decimals="INF" unitRef="UsdPerShare">4.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic contextRef="Y21" decimals="INF" unitRef="UsdPerShare">4.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic contextRef="Y20" decimals="INF" unitRef="UsdPerShare">2.95</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted contextRef="Y22" decimals="INF" unitRef="UsdPerShare">4.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y21" decimals="INF" unitRef="UsdPerShare">4.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y20" decimals="INF" unitRef="UsdPerShare">2.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="Y22" decimals="INF" unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="Y21" decimals="INF" unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="Y20" decimals="INF" unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y22" decimals="-3" unitRef="USD">-2986000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y21" decimals="-3" unitRef="USD">-773000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y20" decimals="-3" unitRef="USD">1502000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="Y22" decimals="-3" unitRef="USD">13487000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="Y21" decimals="-3" unitRef="USD">14015000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="Y20" decimals="-3" unitRef="USD">12300000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21" decimals="-3" unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y20" decimals="-3" unitRef="USD">10798000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation contextRef="Y22" decimals="-3" unitRef="USD">612000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y21" decimals="-3" unitRef="USD">636000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y20" decimals="-3" unitRef="USD">655000</us-gaap:Depreciation>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="Y22" decimals="-3" unitRef="USD">6417000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="Y21" decimals="-3" unitRef="USD">6645000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="Y20" decimals="-3" unitRef="USD">6515000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="Y22" decimals="-3" unitRef="USD">30000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="Y21" decimals="-3" unitRef="USD">24000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="Y20" decimals="-3" unitRef="USD">-5000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="Y22" decimals="-3" unitRef="USD">53000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="Y21" decimals="-3" unitRef="USD">3000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="Y20" decimals="-3" unitRef="USD">39000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="Y22" decimals="-3" unitRef="USD">0</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="Y21" decimals="-3" unitRef="USD">0</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets contextRef="Y20" decimals="-3" unitRef="USD">-1000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" unitRef="USD">-401000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" unitRef="USD">-92000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y20" decimals="-3" unitRef="USD">-26000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation contextRef="Y22" decimals="-3" unitRef="USD">183000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="Y21" decimals="-3" unitRef="USD">166000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="Y20" decimals="-3" unitRef="USD">160000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised contextRef="Y22" decimals="-3" unitRef="USD">6000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised contextRef="Y21" decimals="-3" unitRef="USD">39000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised contextRef="Y20" decimals="-3" unitRef="USD">7000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y22" decimals="-3" unitRef="USD">511000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y21" decimals="-3" unitRef="USD">1088000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y20" decimals="-3" unitRef="USD">-617000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="Y22" decimals="-3" unitRef="USD">14000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="Y21" decimals="-3" unitRef="USD">42000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="Y20" decimals="-3" unitRef="USD">-45000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y22" decimals="-3" unitRef="USD">2353000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y21" decimals="-3" unitRef="USD">485000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y20" decimals="-3" unitRef="USD">-924000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="Y22" decimals="-3" unitRef="USD">64000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="Y21" decimals="-3" unitRef="USD">81000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="Y20" decimals="-3" unitRef="USD">-108000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y22" decimals="-3" unitRef="USD">464000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y21" decimals="-3" unitRef="USD">-23000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y20" decimals="-3" unitRef="USD">-308000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="Y22" decimals="-3" unitRef="USD">252000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="Y21" decimals="-3" unitRef="USD">713000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="Y20" decimals="-3" unitRef="USD">607000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y22" decimals="-3" unitRef="USD">21147000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y21" decimals="-3" unitRef="USD">21203000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y20" decimals="-3" unitRef="USD">20137000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="Y22" decimals="-3" unitRef="USD">809000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="Y21" decimals="-3" unitRef="USD">552000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="Y20" decimals="-3" unitRef="USD">860000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="Y22" decimals="-3" unitRef="USD">9000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="Y21" decimals="-3" unitRef="USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="Y20" decimals="-3" unitRef="USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y22" decimals="-3" unitRef="USD">-818000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y21" decimals="-3" unitRef="USD">-552000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y20" decimals="-3" unitRef="USD">-860000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="Y22" decimals="-3" unitRef="USD">174000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="Y21" decimals="-3" unitRef="USD">560000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="Y20" decimals="-3" unitRef="USD">358000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="Y22" decimals="-3" unitRef="USD">2495000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="Y21" decimals="-3" unitRef="USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="Y20" decimals="-3" unitRef="USD">6976000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsOfDividends contextRef="Y22" decimals="-3" unitRef="USD">3163000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends contextRef="Y21" decimals="-3" unitRef="USD">11465000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends contextRef="Y20" decimals="-3" unitRef="USD">4116000</us-gaap:PaymentsOfDividends>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y22" decimals="-3" unitRef="USD">-5484000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y21" decimals="-3" unitRef="USD">-10905000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y20" decimals="-3" unitRef="USD">-10734000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="Y22" decimals="-3" unitRef="USD">-767000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="Y21" decimals="-3" unitRef="USD">-362000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="Y20" decimals="-3" unitRef="USD">260000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="Y22" decimals="-3" unitRef="USD">14078000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="Y21" decimals="-3" unitRef="USD">9384000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="Y20" decimals="-3" unitRef="USD">8803000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E21" decimals="-3" unitRef="USD">60974000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E20" decimals="-3" unitRef="USD">51590000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E19" decimals="-3" unitRef="USD">42787000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E22" decimals="-3" unitRef="USD">75052000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E21" decimals="-3" unitRef="USD">60974000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E20" decimals="-3" unitRef="USD">51590000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaid contextRef="Y22" decimals="-3" unitRef="USD">4970000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid contextRef="Y21" decimals="-3" unitRef="USD">4617000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid contextRef="Y20" decimals="-3" unitRef="USD">3186000</us-gaap:IncomeTaxesPaid>
    <us-gaap:InterestPaid contextRef="Y22" decimals="-3" unitRef="USD">0</us-gaap:InterestPaid>
    <us-gaap:InterestPaid contextRef="Y21" decimals="-3" unitRef="USD">0</us-gaap:InterestPaid>
    <us-gaap:InterestPaid contextRef="Y20" decimals="-3" unitRef="USD">0</us-gaap:InterestPaid>
    <us-gaap:SharesOutstanding
      contextRef="E19_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">3722000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E19_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">37000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E19_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">18000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E19_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">-9782000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E19_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">110820000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E19" decimals="-3" unitRef="USD">101093000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y20_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">358000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y20_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y20_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="Y20" decimals="-3" unitRef="USD">358000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y20_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">160000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y20_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y20_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense contextRef="Y20" decimals="-3" unitRef="USD">160000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">-87000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">-1000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y20_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">-421000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y20_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y20_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">-6555000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="Y20" decimals="-3" unitRef="USD">-6976000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y20_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y20_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">1502000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y20_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y20" decimals="-3" unitRef="USD">1502000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y20_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y20_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y20_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">4112000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="Y20" decimals="-3" unitRef="USD">4112000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y20_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y20_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y20_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">10798000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y20" decimals="-3" unitRef="USD">10798000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">3643000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E20_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">115000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E20_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">-8280000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E20_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">110951000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E20" decimals="-3" unitRef="USD">102822000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">14000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">787000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="Y21" decimals="-3" unitRef="USD">787000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">-2000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">-227000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions contextRef="Y21" decimals="-3" unitRef="USD">-227000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">166000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense contextRef="Y21" decimals="-3" unitRef="USD">166000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="Y21" decimals="-3" unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">-773000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y21" decimals="-3" unitRef="USD">-773000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">10425000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="Y21" decimals="-3" unitRef="USD">10425000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21" decimals="-3" unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">3655000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">842000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">-9053000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">115314000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E21" decimals="-3" unitRef="USD">107138000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">4000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">211000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="Y22" decimals="-3" unitRef="USD">211000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">-1000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">-37000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions contextRef="Y22" decimals="-3" unitRef="USD">-37000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">183000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense contextRef="Y22" decimals="-3" unitRef="USD">183000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">-30000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">-947000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">-1548000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="Y22" decimals="-3" unitRef="USD">-2495000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">-2986000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y22" decimals="-3" unitRef="USD">-2986000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">4233000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="Y22" decimals="-3" unitRef="USD">4233000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">3628000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-AddPaidInCap"
      decimals="-3"
      unitRef="USD">252000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-ComprIncome"
      decimals="-3"
      unitRef="USD">-12039000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-RetainedEarnings"
      decimals="-3"
      unitRef="USD">126006000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E22" decimals="-3" unitRef="USD">114255000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 1 &#x2013;&#160;Summary of Significant Accounting Policies&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Organization&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Utah Medical Products, Inc. with headquarters in Midvale, Utah and its wholly-owned operating subsidiaries, Femcare Limited located in Romsey, Hampshire, England, Femcare Australia Pty Ltd located in Castle Hill, NSW, Australia, Utah Medical Products Canada, Inc. (dba Femcare Canada) located in Mississauga, Ontario, Canada and Utah Medical Products Ltd., which operates a manufacturing facility in Athlone, Ireland, (in the aggregate, the Company) are in the primary business of developing, manufacturing and globally distributing specialized medical devices for the healthcare industry. &#160;The Company&#x2019;s broad range of products includes those used in critical care areas and the labor and delivery departments of hospitals, as well as outpatient clinics and physicians&#x2019; offices. &#160;Products are sold directly to end-user facilities in the U.S., Ireland, UK, Canada, France and Australia, and through third party distributors in other outside the U.S. (OUS) markets. &#160;Domestically, until February 1, 2019, Femcare had an exclusive U.S. distribution relationship with CooperSurgical, Inc. (CSI) for the Filshie Clip System. &#160;UTMD also sells subcontract manufactured components and finished products to over 150 companies in the U.S. for their medical and non-medical products.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Use of Estimates in the Preparation of Financial Statements&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities 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;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Principles of Consolidation&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December 31, 2022 except under an extreme global financial crisis.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Accounts Receivable&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. &#160;Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Inventories&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2). &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Property and Equipment&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td colspan="2" style="width:391.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:298.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Building and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:92.7pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;15 - 40 years&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:298.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:92.7pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;3 - 10 years&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Long-Lived Assets&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#x201c;Accounting for the Impairment of Long-Lived Assets.&#x201d; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. &#160;When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Intangible Assets&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp;amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from 5 to 20 years. UTMD&#x2019;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2022, using the 2022 year-end 1.2077 USD/GBP and 0.6805 USD/AUD currency exchange rates, is about $5,617 in 2023, $1,933 in 2024, $1,933 in 2025, $424 in 2026, and $12 in 2027 (see note 2).&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;In 2019, $21,000 in intangible assets were acquired from CSI. &#160;The future amortization expenses on those assets are estimated to be $3,864 in 2023 (see note 15).&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
 &lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Stock-Based Compensation &lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;At December 31, 2022, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, Share-Based Payment. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2022, the Company recognized $183 in stock-based compensation cost compared to $166 in 2021 and $160 in 2020.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Revenue Recognition&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#x2019;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#x2019;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for other companies. &#160;This revenue is recognized when UTMD&#x2019;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Income Taxes&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company accounts for income taxes under ASC 740, &#x201c;Accounting for Income Taxes,&#x201d; whereby deferred taxes are computed under the asset and liability method. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company accounts for deferred taxes under ASC 740, &#x201c;Accounting for Income Taxes&#x201d;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#x2019;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2022 or 2021. &#160;In 2020 the Company paid tax penalties of $4. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Legal Costs&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2022 and 2021 was  $204 and $96, respectively (see note 2).&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Earnings per Share&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"&gt;The shares (in thousands) used in the computation of the Company&#x2019;s basic and diluted earnings per share are reconciled as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:737.7pt" valign="top"/&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:737.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Weighted average number of shares outstanding &#x2013;&#160;basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,637&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,647&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,658&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:737.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Dilutive effect of stock options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:737.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Weighted average number of shares outstanding, assuming dilution&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,643&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,660&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,672&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Presentation of Sales and Similar Taxes&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2022 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Translation of Foreign Currencies&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Assets and liabilities of the Company&#x2019;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#x2019;s assets and liabilities are reflected as a separate component of stockholders&#x2019; equity. &#160;A negative translation impact on stockholders&#x2019; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, as applicable.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year. &lt;/p&gt;
</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Use of Estimates in the Preparation of Financial Statements&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities 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;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.&lt;/p&gt;
</us-gaap:UseOfEstimates>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Principles of Consolidation&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation. &lt;/p&gt;
</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.&lt;/p&gt;
</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December 31, 2022 except under an extreme global financial crisis.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances. &lt;/p&gt;
</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ReceivablesPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Accounts Receivable&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. &#160;Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).&lt;/p&gt;
</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Inventories&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2). &lt;/p&gt;
</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Property and Equipment&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td colspan="2" style="width:391.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:298.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Building and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:92.7pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;15 - 40 years&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:298.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:92.7pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;3 - 10 years&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Minimum_PpeByType-BuildingAndBuildingImprovements">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Maximum_PpeByType-BuildingAndBuildingImprovements">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Minimum_PpeByType-Equipment">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="Y22_Range-Maximum_PpeByType-Equipment">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Long-Lived Assets&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#x201c;Accounting for the Impairment of Long-Lived Assets.&#x201d; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. &#160;When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made. &lt;/p&gt;
</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Intangible Assets&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp;amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from 5 to 20 years. UTMD&#x2019;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2022, using the 2022 year-end 1.2077 USD/GBP and 0.6805 USD/AUD currency exchange rates, is about $5,617 in 2023, $1,933 in 2024, $1,933 in 2025, $424 in 2026, and $12 in 2027 (see note 2).&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;In 2019, $21,000 in intangible assets were acquired from CSI. &#160;The future amortization expenses on those assets are estimated to be $3,864 in 2023 (see note 15).&lt;/p&gt;
</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="Y22_Range-Minimum">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="Y22_Range-Maximum">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD contextRef="E22" decimals="INF" unitRef="Pure">1.2077</fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD>
    <fil:ForeignCurrencyExchangeRateTranslationAUDtoUSD contextRef="E22" decimals="INF" unitRef="Pure">0.6805</fil:ForeignCurrencyExchangeRateTranslationAUDtoUSD>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="E22" decimals="-3" unitRef="USD">5617000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="E22" decimals="-3" unitRef="USD">1933000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="E22" decimals="-3" unitRef="USD">1933000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="E22" decimals="-3" unitRef="USD">424000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="E22" decimals="-3" unitRef="USD">12000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="-3"
      unitRef="USD">21000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="E22_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="-3"
      unitRef="USD">3864000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Stock-Based Compensation &lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;At December 31, 2022, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, Share-Based Payment. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2022, the Company recognized $183 in stock-based compensation cost compared to $166 in 2021 and $160 in 2020.&lt;/p&gt;
</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y22" decimals="-3" unitRef="USD">183000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y21" decimals="-3" unitRef="USD">166000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y20" decimals="-3" unitRef="USD">160000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Revenue Recognition&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#x2019;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#x2019;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for other companies. &#160;This revenue is recognized when UTMD&#x2019;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. &lt;/p&gt;
</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Income Taxes&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company accounts for income taxes under ASC 740, &#x201c;Accounting for Income Taxes,&#x201d; whereby deferred taxes are computed under the asset and liability method. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company accounts for deferred taxes under ASC 740, &#x201c;Accounting for Income Taxes&#x201d;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#x2019;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2022 or 2021. &#160;In 2020 the Company paid tax penalties of $4. &lt;/p&gt;
</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="Y20" decimals="-3" unitRef="USD">4000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:LegalCostsPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Legal Costs&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2022 and 2021 was  $204 and $96, respectively (see note 2).&lt;/p&gt;
</us-gaap:LegalCostsPolicyTextBlock>
    <us-gaap:LitigationReserve contextRef="E22" decimals="-3" unitRef="USD">204000</us-gaap:LitigationReserve>
    <us-gaap:LitigationReserve contextRef="E21" decimals="-3" unitRef="USD">96000</us-gaap:LitigationReserve>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Earnings per Share&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"&gt;The shares (in thousands) used in the computation of the Company&#x2019;s basic and diluted earnings per share are reconciled as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:737.7pt" valign="top"/&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:737.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Weighted average number of shares outstanding &#x2013;&#160;basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,637&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,647&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,658&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:737.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Dilutive effect of stock options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:737.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Weighted average number of shares outstanding, assuming dilution&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,643&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,660&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,672&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:737.7pt" valign="top"/&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:737.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Weighted average number of shares outstanding &#x2013;&#160;basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,637&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,647&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,658&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:737.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Dilutive effect of stock options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:737.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Weighted average number of shares outstanding, assuming dilution&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,643&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,660&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,672&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y22" decimals="-3" unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y21" decimals="-3" unitRef="Shares">3647000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y20" decimals="-3" unitRef="Shares">3658000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="Y22" decimals="-3" unitRef="Shares">6000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="Y21" decimals="-3" unitRef="Shares">13000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="Y20" decimals="-3" unitRef="Shares">14000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y22" decimals="-3" unitRef="Shares">3643000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y21" decimals="-3" unitRef="Shares">3660000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y20" decimals="-3" unitRef="Shares">3672000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <fil:PresentationOfSalesAndSimilarTaxesTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Presentation of Sales and Similar Taxes&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2022 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.&lt;/p&gt;
</fil:PresentationOfSalesAndSimilarTaxesTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Translation of Foreign Currencies&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Assets and liabilities of the Company&#x2019;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#x2019;s assets and liabilities are reflected as a separate component of stockholders&#x2019; equity. &#160;A negative translation impact on stockholders&#x2019; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, as applicable.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year. &lt;/p&gt;
</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 2 &#x2013;&#160;Detail of Certain Balance Sheet Accounts&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:272.75pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"/&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts and other receivables:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Accounts receivable&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,720&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,287&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Accrued interest and other&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;51&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;39&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Less allowance for doubtful accounts&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(182)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(156)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total accounts and other receivables&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,589&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,170&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
 &lt;p style="font:11pt Times New Roman;margin:0"/&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Inventories:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"/&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Finished products&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,896&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,468&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Work-in-process&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,193&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,398&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Raw materials&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,725&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,730&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total inventories&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,814&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,596&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Goodwill:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt" valign="top"/&gt;&lt;td style="width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt" valign="top"/&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Balance as of January 1&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,098&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,164&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Effect of foreign exchange&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(744)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(66)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Subtractions as a result of impairment&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total Goodwill as of December 31&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,354&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,098&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:11pt Times New Roman;margin:0"/&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Identifiable Intangible Assets:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"/&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"/&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Patents&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,198&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,212&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Non-compete agreements&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;121&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;135&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Trademarks &amp;amp; trade names&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,887&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,930&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Customer relationships&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,635&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,678&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Distribution agreements&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,000&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,000&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;&lt;span style="-sec-ix-hidden:fact5"&gt;&lt;span style="-sec-ix-hidden:fact6"&gt;Right-of-Use&lt;/span&gt;&lt;/span&gt; Asset&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;395&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;449&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Regulatory approvals &amp;amp; product certifications&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,519&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,910&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total Other Identifiable Intangible Assets&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;52,755&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;56,314&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Accumulated amortization&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(42,378)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(38,552)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt; Other Identifiable Intangible Assets, Net&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,377&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;17,762&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
 &lt;p style="font:11pt Times New Roman;margin:0"/&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued expenses:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"/&gt;&lt;td style="width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"/&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Income taxes payable (receivable)&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;337&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;36&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Payroll and payroll taxes&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,318&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,225&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Reserve for litigation costs&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;204&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;96&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Other&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,883&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,627&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total accrued expenses&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,742&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,984&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:272.75pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"/&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts and other receivables:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Accounts receivable&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,720&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,287&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Accrued interest and other&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;51&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;39&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Less allowance for doubtful accounts&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(182)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(156)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total accounts and other receivables&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,589&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,170&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="E22" decimals="-3" unitRef="USD">5720000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="E21" decimals="-3" unitRef="USD">5287000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:InterestReceivableAndOtherAssets contextRef="E22" decimals="-3" unitRef="USD">51000</us-gaap:InterestReceivableAndOtherAssets>
    <us-gaap:InterestReceivableAndOtherAssets contextRef="E21" decimals="-3" unitRef="USD">39000</us-gaap:InterestReceivableAndOtherAssets>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E22" decimals="-3" unitRef="USD">182000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E21" decimals="-3" unitRef="USD">156000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="E22" decimals="-3" unitRef="USD">5589000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="E21" decimals="-3" unitRef="USD">5170000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="Y22">&lt;p style="font:11pt Times New Roman;margin:0"/&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Inventories:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"/&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Finished products&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,896&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,468&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Work-in-process&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,193&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,398&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Raw materials&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,725&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,730&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:800.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total inventories&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,814&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,596&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="E22" decimals="-3" unitRef="USD">1896000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="E21" decimals="-3" unitRef="USD">1468000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcess contextRef="E22" decimals="-3" unitRef="USD">1193000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="E21" decimals="-3" unitRef="USD">1398000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryRawMaterials contextRef="E22" decimals="-3" unitRef="USD">5725000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="E21" decimals="-3" unitRef="USD">3730000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryNet contextRef="E22" decimals="-3" unitRef="USD">8814000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E21" decimals="-3" unitRef="USD">6596000</us-gaap:InventoryNet>
    <us-gaap:ScheduleOfGoodwillTextBlock contextRef="Y22">&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Goodwill:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt" valign="top"/&gt;&lt;td style="width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt" valign="top"/&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Balance as of January 1&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,098&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,164&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Effect of foreign exchange&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(744)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(66)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Subtractions as a result of impairment&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:799.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total Goodwill as of December 31&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,354&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,098&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill contextRef="E21" decimals="-3" unitRef="USD">14098000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="E20" decimals="-3" unitRef="USD">14164000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="Y22" decimals="-3" unitRef="USD">-744000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="Y21" decimals="-3" unitRef="USD">-66000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillImpairmentLoss contextRef="Y22" decimals="-3" unitRef="USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss contextRef="Y21" decimals="-3" unitRef="USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:Goodwill contextRef="E22" decimals="-3" unitRef="USD">13354000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="E21" decimals="-3" unitRef="USD">14098000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="Y22">&lt;p style="font:11pt Times New Roman;margin:0"/&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Identifiable Intangible Assets:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"/&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"/&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Patents&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,198&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,212&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Non-compete agreements&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;121&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;135&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Trademarks &amp;amp; trade names&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,887&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,930&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Customer relationships&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,635&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,678&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Distribution agreements&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,000&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,000&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;&lt;span style="-sec-ix-hidden:fact5"&gt;&lt;span style="-sec-ix-hidden:fact6"&gt;Right-of-Use&lt;/span&gt;&lt;/span&gt; Asset&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;395&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;449&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Regulatory approvals &amp;amp; product certifications&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,519&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,910&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total Other Identifiable Intangible Assets&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;52,755&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;56,314&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Accumulated amortization&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(42,378)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(38,552)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:798pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt; Other Identifiable Intangible Assets, Net&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,377&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;17,762&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedPatentsGross contextRef="E22" decimals="-3" unitRef="USD">2198000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedPatentsGross contextRef="E21" decimals="-3" unitRef="USD">2212000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedNoncompeteAgreementsGross contextRef="E22" decimals="-3" unitRef="USD">121000</us-gaap:FiniteLivedNoncompeteAgreementsGross>
    <us-gaap:FiniteLivedNoncompeteAgreementsGross contextRef="E21" decimals="-3" unitRef="USD">135000</us-gaap:FiniteLivedNoncompeteAgreementsGross>
    <us-gaap:FiniteLivedTrademarksGross contextRef="E22" decimals="-3" unitRef="USD">8887000</us-gaap:FiniteLivedTrademarksGross>
    <us-gaap:FiniteLivedTrademarksGross contextRef="E21" decimals="-3" unitRef="USD">9930000</us-gaap:FiniteLivedTrademarksGross>
    <us-gaap:FiniteLivedCustomerRelationshipsGross contextRef="E22" decimals="-3" unitRef="USD">8635000</us-gaap:FiniteLivedCustomerRelationshipsGross>
    <us-gaap:FiniteLivedCustomerRelationshipsGross contextRef="E21" decimals="-3" unitRef="USD">9678000</us-gaap:FiniteLivedCustomerRelationshipsGross>
    <us-gaap:OtherFiniteLivedIntangibleAssetsGross contextRef="E22" decimals="-3" unitRef="USD">21000000</us-gaap:OtherFiniteLivedIntangibleAssetsGross>
    <us-gaap:OtherFiniteLivedIntangibleAssetsGross contextRef="E21" decimals="-3" unitRef="USD">21000000</us-gaap:OtherFiniteLivedIntangibleAssetsGross>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="E22" decimals="-3" unitRef="USD">395000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="E21" decimals="-3" unitRef="USD">449000</us-gaap:OperatingLeaseRightOfUseAsset>
    <fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross contextRef="E22" decimals="-3" unitRef="USD">11519000</fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross>
    <fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross contextRef="E21" decimals="-3" unitRef="USD">12910000</fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E22" decimals="-3" unitRef="USD">52755000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E21" decimals="-3" unitRef="USD">56314000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E22" decimals="-3" unitRef="USD">42378000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E21" decimals="-3" unitRef="USD">38552000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="E22" decimals="-3" unitRef="USD">10377000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="E21" decimals="-3" unitRef="USD">17762000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="Y22">&lt;p style="font:11pt Times New Roman;margin:0"/&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued expenses:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"/&gt;&lt;td style="width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"/&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Income taxes payable (receivable)&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;337&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;36&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Payroll and payroll taxes&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,318&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,225&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Reserve for litigation costs&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;204&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;96&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Other&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,883&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.7pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,627&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:800.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"/&gt;Total accrued expenses&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,742&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,984&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="E22" decimals="-3" unitRef="USD">337000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="E21" decimals="-3" unitRef="USD">36000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E22" decimals="-3" unitRef="USD">1318000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E21" decimals="-3" unitRef="USD">1225000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:LitigationReserveCurrent contextRef="E22" decimals="-3" unitRef="USD">204000</us-gaap:LitigationReserveCurrent>
    <us-gaap:LitigationReserveCurrent contextRef="E21" decimals="-3" unitRef="USD">96000</us-gaap:LitigationReserveCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E22" decimals="-3" unitRef="USD">2883000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E21" decimals="-3" unitRef="USD">1627000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E22" decimals="-3" unitRef="USD">4742000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E21" decimals="-3" unitRef="USD">2984000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 3 &#x2013;&#160;Quarterly Results of Operations (Unaudited)&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Unaudited Quarterly Data for 2022&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"/&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;First Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Second Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Third Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,323&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,428&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,955&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,575&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,533&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,151&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,186&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,327&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,534&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,103&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,280&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,555&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.96&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.12&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.18&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.25&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Unaudited Quarterly Data for 2021&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"/&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;First Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Second Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Third Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,964&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,604&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,572&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,914&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,947&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,785&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,073&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,112&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,024&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,426&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,206&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,131&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.83&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.94&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.15&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.13&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Unaudited Quarterly Data for 2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"/&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;First Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Second Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Third Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,902&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,787&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,479&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,010&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,836&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,950&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,497&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,265&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,140&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,313&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,933&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,412&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.84&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.36&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.80&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.94&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"/&gt;
</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Unaudited Quarterly Data for 2022&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"/&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;First Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Second Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Third Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,323&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,428&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,955&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,575&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,533&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,151&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,186&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,327&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,534&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,103&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,280&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,555&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.96&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.12&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.18&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.25&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Unaudited Quarterly Data for 2021&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"/&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;First Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Second Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Third Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,964&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,604&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,572&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,914&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,947&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,785&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,073&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,112&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,024&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,426&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,206&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,131&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.83&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.94&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.15&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.13&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:832.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Unaudited Quarterly Data for 2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"/&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;First Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Second Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Third Quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,902&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,787&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,479&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,010&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,836&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,950&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,497&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,265&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,140&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,313&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,933&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:148.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,412&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:520.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:30.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.84&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.36&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.80&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:29.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:148.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.94&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"/&gt;
</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22Q1" decimals="-3" unitRef="USD">12323000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22Q2" decimals="-3" unitRef="USD">13428000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22Q3" decimals="-3" unitRef="USD">12955000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22Q4" decimals="-3" unitRef="USD">13575000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit contextRef="Y22Q1" decimals="-3" unitRef="USD">7533000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y22Q2" decimals="-3" unitRef="USD">8151000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y22Q3" decimals="-3" unitRef="USD">8186000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y22Q4" decimals="-3" unitRef="USD">8327000</us-gaap:GrossProfit>
    <us-gaap:ProfitLoss contextRef="Y22Q1" decimals="-3" unitRef="USD">3534000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22Q2" decimals="-3" unitRef="USD">4103000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22Q3" decimals="-3" unitRef="USD">4280000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22Q4" decimals="-3" unitRef="USD">4555000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareDiluted contextRef="Y22Q1" decimals="INF" unitRef="UsdPerShare">0.96</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y22Q2" decimals="INF" unitRef="UsdPerShare">1.12</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y22Q3" decimals="INF" unitRef="UsdPerShare">1.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y22Q4" decimals="INF" unitRef="UsdPerShare">1.25</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21Q1" decimals="-3" unitRef="USD">10964000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21Q2" decimals="-3" unitRef="USD">12604000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21Q3" decimals="-3" unitRef="USD">12572000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21Q4" decimals="-3" unitRef="USD">12914000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit contextRef="Y21Q1" decimals="-3" unitRef="USD">6947000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y21Q2" decimals="-3" unitRef="USD">7785000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y21Q3" decimals="-3" unitRef="USD">8073000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y21Q4" decimals="-3" unitRef="USD">8112000</us-gaap:GrossProfit>
    <us-gaap:ProfitLoss contextRef="Y21Q1" decimals="-3" unitRef="USD">3024000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21Q2" decimals="-3" unitRef="USD">3426000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21Q3" decimals="-3" unitRef="USD">4206000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21Q4" decimals="-3" unitRef="USD">4131000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareDiluted contextRef="Y21Q1" decimals="INF" unitRef="UsdPerShare">0.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y21Q2" decimals="INF" unitRef="UsdPerShare">0.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y21Q3" decimals="INF" unitRef="UsdPerShare">1.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y21Q4" decimals="INF" unitRef="UsdPerShare">1.13</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20Q1" decimals="-3" unitRef="USD">10902000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20Q2" decimals="-3" unitRef="USD">8787000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20Q3" decimals="-3" unitRef="USD">10479000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20Q4" decimals="-3" unitRef="USD">12010000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit contextRef="Y20Q1" decimals="-3" unitRef="USD">6836000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y20Q2" decimals="-3" unitRef="USD">4950000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y20Q3" decimals="-3" unitRef="USD">6497000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y20Q4" decimals="-3" unitRef="USD">7265000</us-gaap:GrossProfit>
    <us-gaap:ProfitLoss contextRef="Y20Q1" decimals="-3" unitRef="USD">3140000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y20Q2" decimals="-3" unitRef="USD">1313000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y20Q3" decimals="-3" unitRef="USD">2933000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y20Q4" decimals="-3" unitRef="USD">3412000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareDiluted contextRef="Y20Q1" decimals="INF" unitRef="UsdPerShare">0.84</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y20Q2" decimals="INF" unitRef="UsdPerShare">0.36</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y20Q3" decimals="INF" unitRef="UsdPerShare">0.80</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y20Q4" decimals="INF" unitRef="UsdPerShare">0.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 4 &#x2013;&#160;Property and Equipment&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment consists of the following:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:382.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"/&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:154.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:157.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:154.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,593&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:157.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,690&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:154.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,601&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:157.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,172&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:154.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;17,068&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:157.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,660&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:154.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;906&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:157.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;898&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Total&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,168&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,420&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:154.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(22,944)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:157.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(22,802)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,224&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,618&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Included in the Company&#x2019;s consolidated balance sheet are the assets of its manufacturing and administrative facilities in Utah, Canada, England, Australia and Ireland. &#160;Property and equipment, by geographic area, are as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:652.15pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Dutch801SWC;margin:0;text-align:center"&gt;&lt;span style="font-family:Times New Roman"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"/&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;U.S. &amp;amp; Canada&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;England &amp;amp; Australia &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Ireland&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.45pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;621&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;605&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;367&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,593&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,566&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,043&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,992&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,601&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,950&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;693&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,425&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;17,068&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;412&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;494&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;906&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Total&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;22,549&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,341&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,278&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,168&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(18,369)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(1,229)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(3,346)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(22,944)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,180&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,112&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,932&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,224&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:652.1pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Dutch801SWC;margin:0;text-align:center"&gt;&lt;span style="font-family:Times New Roman"&gt;December 31, 2021&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"/&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;U.S. &amp;amp; Canada&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;England &amp;amp; Australia &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Ireland&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;621&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;678&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;391&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,690&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,541&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,384&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,247&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,172&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,608&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;752&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,300&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,660&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;412&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;484&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;898&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Total&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;22,182&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,816&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,422&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,420&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(18,168)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(1,164)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(3,470)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(22,802)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,014&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,652&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,952&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,618&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:382.35pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"/&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:154.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:157.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:154.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,593&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:157.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,690&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:154.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,601&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:157.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,172&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:154.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;17,068&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:157.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,660&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:154.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;906&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:157.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;898&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Total&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,168&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,420&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:154.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(22,944)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:157.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(22,802)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:645.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:154.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,224&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:3.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:67.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:157.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,618&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:Land contextRef="E22" decimals="-3" unitRef="USD">1593000</us-gaap:Land>
    <us-gaap:Land contextRef="E21" decimals="-3" unitRef="USD">1690000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E22" decimals="-3" unitRef="USD">13601000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E21" decimals="-3" unitRef="USD">14172000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E22" decimals="-3" unitRef="USD">17068000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E21" decimals="-3" unitRef="USD">16660000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross contextRef="E22" decimals="-3" unitRef="USD">906000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E21" decimals="-3" unitRef="USD">898000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E22" decimals="-3" unitRef="USD">33168000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E21" decimals="-3" unitRef="USD">33420000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E22" decimals="-3" unitRef="USD">22944000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E21" decimals="-3" unitRef="USD">22802000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22" decimals="-3" unitRef="USD">10224000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E21" decimals="-3" unitRef="USD">10618000</us-gaap:PropertyPlantAndEquipmentNet>
    <fil:PropertyPlantAndEquipmentByLocationTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:652.15pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Dutch801SWC;margin:0;text-align:center"&gt;&lt;span style="font-family:Times New Roman"&gt;December 31, 2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"/&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;U.S. &amp;amp; Canada&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;England &amp;amp; Australia &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Ireland&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.45pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;621&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;605&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;367&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,593&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,566&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,043&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,992&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,601&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,950&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;693&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,425&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;17,068&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;412&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;494&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;906&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Total&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;22,549&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,341&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,278&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,168&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(18,369)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(1,229)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(3,346)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(22,944)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,180&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,112&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,932&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,224&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="10" style="width:652.1pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Dutch801SWC;margin:0;text-align:center"&gt;&lt;span style="font-family:Times New Roman"&gt;December 31, 2021&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"/&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;U.S. &amp;amp; Canada&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;England &amp;amp; Australia &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Ireland&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;621&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;678&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;391&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,690&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,541&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,384&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,247&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,172&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,608&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;752&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,300&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,660&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;412&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;484&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;898&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"/&gt;Total&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;22,182&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,816&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,422&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,420&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(18,168)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:119pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(1,164)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:117.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(3,470)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:118.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(22,802)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:398.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,014&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:119pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,652&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:117.05pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,952&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:118.4pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,618&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</fil:PropertyPlantAndEquipmentByLocationTextBlock>
    <us-gaap:Land
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">621000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">605000</us-gaap:Land>
    <us-gaap:Land contextRef="E22_StGeo-IE" decimals="-3" unitRef="USD">367000</us-gaap:Land>
    <us-gaap:Land contextRef="E22" decimals="-3" unitRef="USD">1593000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">6566000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">3043000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E22_StGeo-IE" decimals="-3" unitRef="USD">3992000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E22" decimals="-3" unitRef="USD">13601000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">14950000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">693000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E22_StGeo-IE" decimals="-3" unitRef="USD">1425000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E22" decimals="-3" unitRef="USD">17068000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">412000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">0</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E22_StGeo-IE" decimals="-3" unitRef="USD">494000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E22" decimals="-3" unitRef="USD">906000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">22549000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">4341000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E22_StGeo-IE" decimals="-3" unitRef="USD">6278000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E22" decimals="-3" unitRef="USD">33168000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">18369000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">1229000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E22_StGeo-IE" decimals="-3" unitRef="USD">3346000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E22" decimals="-3" unitRef="USD">22944000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">4180000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">3112000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22_StGeo-IE" decimals="-3" unitRef="USD">2932000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22" decimals="-3" unitRef="USD">10224000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Land
      contextRef="E21_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">621000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E21_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">678000</us-gaap:Land>
    <us-gaap:Land contextRef="E21_StGeo-IE" decimals="-3" unitRef="USD">391000</us-gaap:Land>
    <us-gaap:Land contextRef="E21" decimals="-3" unitRef="USD">1690000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E21_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">6541000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E21_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">3384000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E21_StGeo-IE" decimals="-3" unitRef="USD">4247000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E21" decimals="-3" unitRef="USD">14172000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E21_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">14608000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E21_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">752000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E21_StGeo-IE" decimals="-3" unitRef="USD">1300000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E21" decimals="-3" unitRef="USD">16660000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E21_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">412000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E21_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">2000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E21_StGeo-IE" decimals="-3" unitRef="USD">484000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E21" decimals="-3" unitRef="USD">898000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E21_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">22182000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E21_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">4816000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E21_StGeo-IE" decimals="-3" unitRef="USD">6422000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E21" decimals="-3" unitRef="USD">33420000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E21_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">18168000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E21_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">1164000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E21_StGeo-IE" decimals="-3" unitRef="USD">3470000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E21" decimals="-3" unitRef="USD">22802000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E21_StGeo-U.S.AndCanada"
      decimals="-3"
      unitRef="USD">4014000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E21_StGeo-EnglandAndAustralia"
      decimals="-3"
      unitRef="USD">3652000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E21_StGeo-IE" decimals="-3" unitRef="USD">2952000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E21" decimals="-3" unitRef="USD">10618000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:LongTermDebtTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 5 &#x2013;&#160;Long-term Debt&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;None in 2021 and 2022.&lt;/p&gt;
</us-gaap:LongTermDebtTextBlock>
    <us-gaap:LongTermDebt contextRef="E22" decimals="INF" unitRef="USD">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="E21" decimals="INF" unitRef="USD">0</us-gaap:LongTermDebt>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 6 &#x2013;&#160;Commitments and Contingencies&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Purchase Obligations&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has obligations to purchase raw materials for use in its manufacturing operations. &#160;The Company has the right to make changes in, among other things, purchase quantities, delivery schedules and order acceptance.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Product Liability&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company is self-insured for product liability risk. &#x201c;Product liability&#x201d; is an insurance industry term for the cost of legal defense and damages awarded to patients allegedly injured as a result of use of a company&#x2019;s product. &#160;The Company maintains a reserve to cover product liability litigation expenses and possible damages consistent with its experience going back decades. Although actual product liability litigation expense at $670 was substantially higher in 2022 relative to history, costs during the prior two reporting years were immaterial. There were no product liability damages in any of the three reporting years, which is consistent with the Company&#x2019;s long-term history. &#160;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company absorbs the costs of clinical training and trouble-shooting in its on-going operating expenses.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Warranty Reserve&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company&#x2019;s published warranty is: &#x201c;UTMD warrants its products to conform in all material respects to all published product specifications in effect on the date of shipment, and to be free from defects in material and workmanship for a period of thirty (30) days for supplies, or twenty-four (24) months for equipment, from date of shipment. &#160;During the warranty period UTMD shall, at its option, replace any products shown to UTMD's reasonable satisfaction to be defective at no expense to the Purchaser or refund the purchase price.&#x201d; &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;UTMD maintains a warranty reserve to provide for estimated costs which are likely to occur. The amount of this reserve is adjusted, as required, to reflect its actual experience. Based on its analysis of historical warranty claims and its estimate that existing warranty obligations are immaterial, no warranty reserve was made at December 31, 2022 or December 31, 2021. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Litigation&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of a medical device business. &#160;Presently, except for the Filshie clip lawsuits by a single U.S. law firm, there is no litigation or threatened litigation. &#160;The Company does not expect the outcome of the Filshie clip litigation will be material to consolidated financial results. The Company applies its accounting policy to accrue legal costs that can be reasonably estimated. &lt;/p&gt;
</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <fil:LitigationExpense contextRef="Y21" decimals="-3" unitRef="USD">670000</fil:LitigationExpense>
    <us-gaap:ProductWarrantyAccrual contextRef="E22" decimals="INF" unitRef="USD">0</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual contextRef="E21" decimals="INF" unitRef="USD">0</us-gaap:ProductWarrantyAccrual>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 7 &#x2013;&#160;Income Taxes &#160;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deferred tax assets (liabilities) consist of the following temporary differences:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:99.98%"&gt;&lt;tr&gt;&lt;td style="width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:465.45pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:608.3pt" valign="top"/&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Inventory write-downs and differences due to UNICAP&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;103&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;88&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;86&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Allowance for doubtful accounts&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;39&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;32&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued liabilities and reserves&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;90&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;58&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;68&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Depreciation and amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,295)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,859)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(3,034)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deferred income taxes, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,063)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,682)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,848)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The components of income tax expense are as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:609.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:464.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Years ended December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:609.4pt" valign="top"/&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:609.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Current&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,632&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,983&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,253&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:609.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deferred&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(446)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;290&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(211)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:609.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,186&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,273&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,042&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Income tax expense differed from amounts computed by applying the statutory federal rate to pretax income as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:461.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Years ended December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"/&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Federal income tax expense at the statutory rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,620&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,520&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,915&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;State income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;490&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;448&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;369&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Foreign income taxes (blended rate)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,129&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,010&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;550&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;R&amp;amp;D tax credits and manufacturing profit deduction&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(3)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(6)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(7)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deemed repatriation transition tax &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#FF0000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;263&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;US Taxes on foreign income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(90)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(99)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(35)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Change in Rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;391&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;40&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(13)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,186&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,273&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,042&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The domestic and foreign components of income before income tax expense were as follows: &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:607.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:466.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Years ended December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:607.35pt" valign="top"/&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:607.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Domestic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,475&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,004&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,031&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:607.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Foreign&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,057&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,809&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:607.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,659&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;19,061&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,840&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:99.98%"&gt;&lt;tr&gt;&lt;td style="width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:465.45pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:608.3pt" valign="top"/&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Inventory write-downs and differences due to UNICAP&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;103&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;88&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;86&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Allowance for doubtful accounts&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;39&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;32&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued liabilities and reserves&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;90&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;58&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;68&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Depreciation and amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,295)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,859)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:83.85pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(3,034)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:608.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deferred income taxes, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,063)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,682)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:83.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(2,848)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E22" decimals="-3" unitRef="USD">103000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E21" decimals="-3" unitRef="USD">88000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E20" decimals="-3" unitRef="USD">86000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E22" decimals="-3" unitRef="USD">39000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E21" decimals="-3" unitRef="USD">31000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E20" decimals="-3" unitRef="USD">32000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="E22" decimals="-3" unitRef="USD">90000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="E21" decimals="-3" unitRef="USD">58000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="E20" decimals="-3" unitRef="USD">68000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <fil:DeferredTaxLiabilitiesDepreciationAndAmortization contextRef="E22" decimals="-3" unitRef="USD">2295000</fil:DeferredTaxLiabilitiesDepreciationAndAmortization>
    <fil:DeferredTaxLiabilitiesDepreciationAndAmortization contextRef="E21" decimals="-3" unitRef="USD">2859000</fil:DeferredTaxLiabilitiesDepreciationAndAmortization>
    <fil:DeferredTaxLiabilitiesDepreciationAndAmortization contextRef="E20" decimals="-3" unitRef="USD">3034000</fil:DeferredTaxLiabilitiesDepreciationAndAmortization>
    <us-gaap:DeferredTaxLiabilities contextRef="E22" decimals="-3" unitRef="USD">2063000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities contextRef="E21" decimals="-3" unitRef="USD">2682000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities contextRef="E20" decimals="-3" unitRef="USD">2848000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:609.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:464.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Years ended December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:609.4pt" valign="top"/&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:609.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Current&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,632&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,983&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,253&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:609.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deferred&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(446)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;290&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(211)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:609.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,186&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,273&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.95pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,042&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" unitRef="USD">4632000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" unitRef="USD">3983000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="Y20" decimals="-3" unitRef="USD">3253000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <fil:DeferredIncomeTaxExpense contextRef="Y22" decimals="-3" unitRef="USD">-446000</fil:DeferredIncomeTaxExpense>
    <fil:DeferredIncomeTaxExpense contextRef="Y21" decimals="-3" unitRef="USD">290000</fil:DeferredIncomeTaxExpense>
    <fil:DeferredIncomeTaxExpense contextRef="Y20" decimals="-3" unitRef="USD">-211000</fil:DeferredIncomeTaxExpense>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" unitRef="USD">4273000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y20" decimals="-3" unitRef="USD">3042000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:461.95pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Years ended December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"/&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Federal income tax expense at the statutory rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,620&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,520&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,915&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;State income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;490&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;448&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;369&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Foreign income taxes (blended rate)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,129&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,010&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;550&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;R&amp;amp;D tax credits and manufacturing profit deduction&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(3)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(6)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(7)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deemed repatriation transition tax &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#FF0000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;263&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;US Taxes on foreign income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(90)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(99)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(35)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Change in Rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;391&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;40&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:82.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(13)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:612pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,186&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,273&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:82.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,042&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y22" decimals="-3" unitRef="USD">2620000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y21" decimals="-3" unitRef="USD">2520000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y20" decimals="-3" unitRef="USD">1915000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y22" decimals="-3" unitRef="USD">490000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y21" decimals="-3" unitRef="USD">448000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y20" decimals="-3" unitRef="USD">369000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="Y22" decimals="-3" unitRef="USD">1129000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="Y21" decimals="-3" unitRef="USD">1010000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="Y20" decimals="-3" unitRef="USD">550000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch contextRef="Y22" decimals="-3" unitRef="USD">3000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch contextRef="Y21" decimals="-3" unitRef="USD">6000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch contextRef="Y20" decimals="-3" unitRef="USD">7000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount contextRef="Y22" decimals="-3" unitRef="USD">0</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount contextRef="Y21" decimals="-3" unitRef="USD">0</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount contextRef="Y20" decimals="-3" unitRef="USD">263000</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount>
    <fil:TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense contextRef="Y22" decimals="-3" unitRef="USD">-90000</fil:TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense>
    <fil:TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense contextRef="Y21" decimals="-3" unitRef="USD">-99000</fil:TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense>
    <fil:TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense contextRef="Y20" decimals="-3" unitRef="USD">-35000</fil:TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense>
    <fil:AdjustmentToDeferredTaxLiability contextRef="Y22" decimals="-3" unitRef="USD">0</fil:AdjustmentToDeferredTaxLiability>
    <fil:AdjustmentToDeferredTaxLiability contextRef="Y21" decimals="-3" unitRef="USD">-391000</fil:AdjustmentToDeferredTaxLiability>
    <fil:AdjustmentToDeferredTaxLiability contextRef="Y20" decimals="-3" unitRef="USD">0</fil:AdjustmentToDeferredTaxLiability>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y22" decimals="-3" unitRef="USD">40000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y21" decimals="-3" unitRef="USD">9000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y20" decimals="-3" unitRef="USD">-13000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" unitRef="USD">4273000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y20" decimals="-3" unitRef="USD">3042000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:607.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:466.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Years ended December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:607.35pt" valign="top"/&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:607.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Domestic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,475&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,004&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,031&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:607.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Foreign&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,057&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:84pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,809&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:607.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,659&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;19,061&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:85.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:21.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:84pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,840&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y22" decimals="-3" unitRef="USD">12475000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y21" decimals="-3" unitRef="USD">12004000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y20" decimals="-3" unitRef="USD">9031000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="Y22" decimals="-3" unitRef="USD">8184000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="Y21" decimals="-3" unitRef="USD">7057000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="Y20" decimals="-3" unitRef="USD">4809000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y22" decimals="-3" unitRef="USD">20659000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y21" decimals="-3" unitRef="USD">19061000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y20" decimals="-3" unitRef="USD">13840000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 8 &#x2013;&#160;Options&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has stock option plans which authorize the grant of stock options to eligible employees, directors and other individuals to purchase up to an aggregate of 509 thousand shares of common stock, of which 67 thousand are outstanding as of December 31, 2022. &#160;All options granted under the plans are granted at current market value at the date of grant, and may be exercised between six months and ten years following the date of grant. &#160;The plans are intended to advance the interest of the Company by attracting and ensuring retention of competent directors, employees and executive personnel, and to provide incentives to those individuals to devote their utmost efforts to the advancement of stockholder value. &#160;Changes in stock options were as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"/&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Shares&lt;br/&gt;(000&#x2019;s)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:346.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Price Range &lt;br/&gt;Per Share&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;21&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;82.60 - 82.60&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;4&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;67&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;40&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Shares&lt;br/&gt;(000&#x2019;s)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Price Range &lt;br/&gt;Per Share&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;- - -&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;3&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;74.64 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;14&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26.52 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;52&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;34&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Shares&lt;br/&gt;(000&#x2019;s)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Price Range &lt;br/&gt;Per Share&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:346.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;77.05 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;1&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;58.50 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;8&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26.52 - 74.64&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;69&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26.52 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26.52 - 74.64&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;For the years ended December 31, 2022, 2021 and 2020, the Company reduced current income taxes payable by $6, $39 and $7, respectively, for the income tax benefit attributable to sale by optionees of common stock received upon the exercise of stock options.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;In 2022, the Company recognized $183 in equity compensation cost, compared to $166 in 2021 and $160 in 2020. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The fair value of each option grant is estimated on the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:314pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Years ended December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:73.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected dividend amount per quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:73.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.3050&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.2943&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected stock price volatility&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:73.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;29.87%&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;27.5%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Risk-free interest rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:73.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.09%&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.56%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected life of options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:73.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5.7 years&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5.3 years&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The per share weighted average fair value of options granted during 2022 is $25.34 and in 2020 is $16.17. No options were granted in 2021.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"&gt;All UTMD options vest over a four-year service period. &#160;At December 31, 2022 there was $501 total unrecognized compensation expense related to non-vested stock options under the plans. A $199 portion of the cost is expected to be recognized over the next twelve months, and the remaining $302 recognized over the next 4 years. Expected dividend amounts were estimated based on the actual cash dividend rate at the time the options were granted and an estimate of future dividends based on past dividend rate changes as well as management&#x2019;s expectations of future dividend rates over the expected holding period of the options. &#160;Expected volatility is based on UTMD&#x2019;s historical volatility over recent periods of time and trends in that volatility, giving weight to more recent periods. &#160;Risk free interest rates were estimated based on actual U.S. Treasury Securities Interest rates as reported by the Federal Reserve Bank for periods of time equivalent to the holding periods estimated for the options on the dates the options were granted. &#160;Expected term of options were estimated based on historical holding periods for similar options previously granted by UTMD to employees and directors. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The following table summarizes information about stock options outstanding at December 31, 2022:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:107.1pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="6" style="width:302.7pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Options Outstanding&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:196.1pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Options Exercisable&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:107.1pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Range of Exercise Prices&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:88pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Actual Number Outstanding&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:87.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Weighted Average Exercise Price&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:86.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Number Exercisable&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Weighted Average Exercise Price&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:107.1pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt; &#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:88pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:87.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:86.1pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:44.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;49.18&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:17pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;58.50&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:88pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,762&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:17.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:87.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2.68 &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:80.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;54.12&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:86.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,762&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:80.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;54.12&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:44.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;74.64&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;77.05&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:88pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,071&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:87.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6.79&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;76.22&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:86.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;25,987&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;75.99&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:44.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:17pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:88pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,600&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:17.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:87.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9.78&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:86.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.00&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:44.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;49.18&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#7F7F7F;text-align:center"&gt;&lt;span style="color:#000000"&gt;-&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#7F7F7F"&gt;&lt;span style="color:#000000"&gt;82.60&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:88pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;67,433&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:87.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6.86&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;73.66&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:86.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;39,749&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;68.42&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:368.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:307.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:368.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.4pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:65.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:38.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:368.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Intrinsic Value of Stock Options Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:72.4pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;141&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:65.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;591&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:38.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;371&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:368.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Intrinsic Value of Stock Options Outstanding&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,812&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:65.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,595&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:38.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,178&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized contextRef="E22" decimals="-3" unitRef="Shares">509000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="E22" decimals="-3" unitRef="Shares">67000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"/&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Shares&lt;br/&gt;(000&#x2019;s)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:346.05pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Price Range &lt;br/&gt;Per Share&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;21&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;82.60 - 82.60&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;4&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;67&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;40&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Shares&lt;br/&gt;(000&#x2019;s)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Price Range &lt;br/&gt;Per Share&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;- - -&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;3&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;74.64 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;14&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26.52 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;52&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;34&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:345.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33.30 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Shares&lt;br/&gt;(000&#x2019;s)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.35pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Price Range &lt;br/&gt;Per Share&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.35pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:346.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;77.05 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;1&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;58.50 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;8&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26.52 - 74.64&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;69&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26.52 - 77.05&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:795.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:114.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;33&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:101.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:27.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:346.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;26.52 - 74.64&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod contextRef="Y22" decimals="-3" unitRef="Shares">21000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <fil:PriceRangePerShareGranted contextRef="Y22">82.60 - 82.60</fil:PriceRangePerShareGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod contextRef="Y22" decimals="-3" unitRef="Shares">2000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <fil:PriceRangePerShareExpired contextRef="Y22">33.30 - 77.05</fil:PriceRangePerShareExpired>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">4000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <fil:PriceRangePerShareExercised contextRef="Y22">33.30 - 77.05</fil:PriceRangePerShareExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="E22" decimals="-3" unitRef="Shares">67000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <fil:PriceRangePerShareOutstanding contextRef="Y22">33.30 - 77.05</fil:PriceRangePerShareOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="E22" decimals="-3" unitRef="Shares">40000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <fil:PriceRangePerShareTotalExercisable contextRef="Y22">33.30 - 77.05</fil:PriceRangePerShareTotalExercisable>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod contextRef="Y21" decimals="-3" unitRef="Shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <fil:PriceRangePerShareGranted contextRef="Y21">- - -</fil:PriceRangePerShareGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod contextRef="Y21" decimals="-3" unitRef="Shares">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <fil:PriceRangePerShareExpired contextRef="Y21">74.64 - 77.05</fil:PriceRangePerShareExpired>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">14000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <fil:PriceRangePerShareExercised contextRef="Y21">26.52 - 77.05</fil:PriceRangePerShareExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="E21" decimals="-3" unitRef="Shares">52000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <fil:PriceRangePerShareOutstanding contextRef="Y21">33.30 - 77.05</fil:PriceRangePerShareOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="E21" decimals="-3" unitRef="Shares">34000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <fil:PriceRangePerShareTotalExercisable contextRef="Y21">33.30 - 77.05</fil:PriceRangePerShareTotalExercisable>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod contextRef="Y20" decimals="-3" unitRef="Shares">26000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <fil:PriceRangePerShareGranted contextRef="Y20">77.05 - 77.05</fil:PriceRangePerShareGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod contextRef="Y20" decimals="-3" unitRef="Shares">1000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <fil:PriceRangePerShareExpired contextRef="Y20">58.50 - 77.05</fil:PriceRangePerShareExpired>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y20_StEqComps-CommonStock"
      decimals="-3"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <fil:PriceRangePerShareExercised contextRef="Y20">26.52 - 74.64</fil:PriceRangePerShareExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="E20" decimals="-3" unitRef="Shares">69000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <fil:PriceRangePerShareOutstanding contextRef="Y20">26.52 - 77.05</fil:PriceRangePerShareOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="E20" decimals="-3" unitRef="Shares">33000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <fil:PriceRangePerShareTotalExercisable contextRef="Y20">26.52 - 74.64</fil:PriceRangePerShareTotalExercisable>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="Y22" decimals="-3" unitRef="USD">6000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="Y21" decimals="-3" unitRef="USD">39000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="Y20" decimals="-3" unitRef="USD">7000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y22" decimals="-3" unitRef="USD">183000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y21" decimals="-3" unitRef="USD">166000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y20" decimals="-3" unitRef="USD">160000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="7" style="width:314pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Years ended December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:73.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected dividend amount per quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:73.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.3050&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.2943&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected stock price volatility&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:73.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;29.87%&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;27.5%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Risk-free interest rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:73.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.09%&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.56%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:362.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected life of options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:73.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5.7 years&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:38.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5.3 years&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments contextRef="Y22" decimals="INF" unitRef="USD">0.3050</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments contextRef="Y20" decimals="INF" unitRef="USD">0.2943</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="Y22" decimals="INF" unitRef="Pure">0.2987</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="Y20" decimals="INF" unitRef="Pure">0.275</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="Y22" decimals="INF" unitRef="Pure">0.0409</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="Y20" decimals="INF" unitRef="Pure">0.0056</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="Y22">P5Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="Y20">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="Y22" decimals="INF" unitRef="UsdPerShare">25.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="Y20" decimals="INF" unitRef="UsdPerShare">16.17</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="E22" decimals="-3" unitRef="USD">501000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths contextRef="E22" decimals="-3" unitRef="USD">199000</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition contextRef="Y22">P12M</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears contextRef="E22" decimals="-3" unitRef="USD">302000</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition contextRef="Y22">P4Y</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition>
    <us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:107.1pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="6" style="width:302.7pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Options Outstanding&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:196.1pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Options Exercisable&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:107.1pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Range of Exercise Prices&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:88pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Actual Number Outstanding&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:87.55pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Weighted Average Exercise Price&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:86.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Number Exercisable&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Weighted Average Exercise Price&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:107.1pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt; &#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:88pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17.15pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:87.55pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:86.1pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:44.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;49.18&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:17pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;58.50&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:88pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,762&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:17.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:87.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2.68 &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:80.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;54.12&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:86.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,762&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:80.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;54.12&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:44.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;74.64&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;77.05&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:88pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;33,071&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:87.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6.79&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;76.22&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:86.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;25,987&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;75.99&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:44.65pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:17pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:88pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,600&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:17.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:87.55pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9.78&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:86.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:80.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.00&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:13.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:44.65pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;49.18&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#7F7F7F;text-align:center"&gt;&lt;span style="color:#000000"&gt;-&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.45pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#7F7F7F"&gt;&lt;span style="color:#000000"&gt;82.60&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:35.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:88pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;67,433&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:17.15pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:87.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6.86&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;73.66&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:86.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;39,749&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:80.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;68.42&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y22_StScenario-Range1"
      decimals="INF"
      unitRef="UsdPerShare">49.18</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y22_StScenario-Range1"
      decimals="INF"
      unitRef="UsdPerShare">58.50</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E22_StScenario-Range1"
      decimals="INF"
      unitRef="Shares">13762</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E22_StScenario-Range1"
      decimals="INF"
      unitRef="Pure">2.68</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E22_StScenario-Range1"
      decimals="INF"
      unitRef="UsdPerShare">54.12</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E22_StScenario-Range1"
      decimals="INF"
      unitRef="Shares">13762</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E22_StScenario-Range1"
      decimals="INF"
      unitRef="UsdPerShare">54.12</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y22_StScenario-Range2"
      decimals="INF"
      unitRef="UsdPerShare">74.64</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y22_StScenario-Range2"
      decimals="INF"
      unitRef="UsdPerShare">77.05</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E22_StScenario-Range2"
      decimals="INF"
      unitRef="Shares">33071</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E22_StScenario-Range2"
      decimals="INF"
      unitRef="Pure">6.79</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E22_StScenario-Range2"
      decimals="INF"
      unitRef="UsdPerShare">76.22</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E22_StScenario-Range2"
      decimals="INF"
      unitRef="Shares">25987</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E22_StScenario-Range2"
      decimals="INF"
      unitRef="UsdPerShare">75.99</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y22_StScenario-Range3"
      decimals="INF"
      unitRef="UsdPerShare">82.60</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y22_StScenario-Range3"
      decimals="INF"
      unitRef="UsdPerShare">82.60</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E22_StScenario-Range3"
      decimals="INF"
      unitRef="Shares">20600</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E22_StScenario-Range3"
      decimals="INF"
      unitRef="Pure">9.78</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E22_StScenario-Range3"
      decimals="INF"
      unitRef="UsdPerShare">82.60</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E22_StScenario-Range3"
      decimals="INF"
      unitRef="Shares">0</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E22_StScenario-Range3"
      decimals="INF"
      unitRef="UsdPerShare">0.00</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit contextRef="Y22" decimals="INF" unitRef="UsdPerShare">49.18</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit contextRef="Y22" decimals="INF" unitRef="UsdPerShare">82.60</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="E22" decimals="INF" unitRef="Shares">67433</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears contextRef="E22" decimals="INF" unitRef="Pure">6.86</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="E22" decimals="INF" unitRef="UsdPerShare">73.66</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="E22" decimals="INF" unitRef="Shares">39749</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="E22" decimals="INF" unitRef="UsdPerShare">68.42</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="Y22" decimals="-3" unitRef="USD">141000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="Y21" decimals="-3" unitRef="USD">591000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="Y20" decimals="-3" unitRef="USD">371000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="E22" decimals="-3" unitRef="USD">1812000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="E21" decimals="-3" unitRef="USD">1595000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="E20" decimals="-3" unitRef="USD">1178000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <fil:GeographicInformationTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 9 &#x2013;&#160;Geographic Information&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company had sales in the following geographic areas based on the customer&#x2019;s country of domicile:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:337.2pt" valign="top"/&gt;&lt;td style="width:31.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:337.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;United States&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;34,524&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;31,758&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;26,175&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:337.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Europe&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,214&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,434&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,399&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:337.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,543&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,862&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,604&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:GeographicInformationTextBlock>
    <fil:ScheduleOfGeographicInformationTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:337.2pt" valign="top"/&gt;&lt;td style="width:31.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:337.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;United States&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;34,524&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;31,758&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;26,175&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:337.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Europe&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,214&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,434&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,399&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:337.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,543&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,862&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:71.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,604&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ScheduleOfGeographicInformationTextBlock>
    <fil:CompanySalesInTheUnitedStates contextRef="Y22" decimals="-3" unitRef="USD">34524000</fil:CompanySalesInTheUnitedStates>
    <fil:CompanySalesInTheUnitedStates contextRef="Y21" decimals="-3" unitRef="USD">31758000</fil:CompanySalesInTheUnitedStates>
    <fil:CompanySalesInTheUnitedStates contextRef="Y20" decimals="-3" unitRef="USD">26175000</fil:CompanySalesInTheUnitedStates>
    <fil:CompanySalesInEurope contextRef="Y22" decimals="-3" unitRef="USD">7214000</fil:CompanySalesInEurope>
    <fil:CompanySalesInEurope contextRef="Y21" decimals="-3" unitRef="USD">7434000</fil:CompanySalesInEurope>
    <fil:CompanySalesInEurope contextRef="Y20" decimals="-3" unitRef="USD">6399000</fil:CompanySalesInEurope>
    <fil:CompanySalesOther contextRef="Y22" decimals="-3" unitRef="USD">10543000</fil:CompanySalesOther>
    <fil:CompanySalesOther contextRef="Y21" decimals="-3" unitRef="USD">9862000</fil:CompanySalesOther>
    <fil:CompanySalesOther contextRef="Y20" decimals="-3" unitRef="USD">9604000</fil:CompanySalesOther>
    <fil:GeographicLongLivedAssetsInformationTextBlock contextRef="Y22">&lt;span style="border-bottom:1px solid #000000"&gt;Note 10 &#x2013;&#160;Long-lived Assets by Geographic Area&lt;/span&gt; &#160; &lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company&#x2019;s long-lived assets by geographic area were as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:338.6pt" valign="top"/&gt;&lt;td style="width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;United States&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,875&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;19,104&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;23,327&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;England&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;15,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;19,339&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,871&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Ireland&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,954&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,990&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,173&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#FFFFFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Australia&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;337&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;392&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;440&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Canada&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;593&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;653&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;672&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#FFFFFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:GeographicLongLivedAssetsInformationTextBlock>
    <fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:338.6pt" valign="top"/&gt;&lt;td style="width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;United States&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,875&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;19,104&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;23,327&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;England&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;15,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;19,339&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,871&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Ireland&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,954&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,990&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,173&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#FFFFFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Australia&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;337&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;392&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;440&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Canada&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;593&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;653&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;672&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#FFFFFF;width:338.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:31.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:37.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:16.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:70.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock>
    <fil:LongLivedAssetsInTheUnitedStates contextRef="E22" decimals="-3" unitRef="USD">14875000</fil:LongLivedAssetsInTheUnitedStates>
    <fil:LongLivedAssetsInTheUnitedStates contextRef="E21" decimals="-3" unitRef="USD">19104000</fil:LongLivedAssetsInTheUnitedStates>
    <fil:LongLivedAssetsInTheUnitedStates contextRef="E20" decimals="-3" unitRef="USD">23327000</fil:LongLivedAssetsInTheUnitedStates>
    <fil:LongLivedAssetsInEngland contextRef="E22" decimals="-3" unitRef="USD">15184000</fil:LongLivedAssetsInEngland>
    <fil:LongLivedAssetsInEngland contextRef="E21" decimals="-3" unitRef="USD">19339000</fil:LongLivedAssetsInEngland>
    <fil:LongLivedAssetsInEngland contextRef="E20" decimals="-3" unitRef="USD">21871000</fil:LongLivedAssetsInEngland>
    <fil:LongLivedAssetsInIreland contextRef="E22" decimals="-3" unitRef="USD">2954000</fil:LongLivedAssetsInIreland>
    <fil:LongLivedAssetsInIreland contextRef="E21" decimals="-3" unitRef="USD">2990000</fil:LongLivedAssetsInIreland>
    <fil:LongLivedAssetsInIreland contextRef="E20" decimals="-3" unitRef="USD">3173000</fil:LongLivedAssetsInIreland>
    <fil:LongLivedAssetsInAustralia contextRef="E22" decimals="-3" unitRef="USD">337000</fil:LongLivedAssetsInAustralia>
    <fil:LongLivedAssetsInAustralia contextRef="E21" decimals="-3" unitRef="USD">392000</fil:LongLivedAssetsInAustralia>
    <fil:LongLivedAssetsInAustralia contextRef="E20" decimals="-3" unitRef="USD">440000</fil:LongLivedAssetsInAustralia>
    <fil:LongLivedAssetsInCanada contextRef="E22" decimals="-3" unitRef="USD">593000</fil:LongLivedAssetsInCanada>
    <fil:LongLivedAssetsInCanada contextRef="E21" decimals="-3" unitRef="USD">653000</fil:LongLivedAssetsInCanada>
    <fil:LongLivedAssetsInCanada contextRef="E20" decimals="-3" unitRef="USD">672000</fil:LongLivedAssetsInCanada>
    <fil:RevenuesbyproductcategoryandregionTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 11 &#x2013;&#160;Revenues by Product Category and Geographic Region&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Global revenues by product category:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt; &lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Obstetrics&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,661&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,675&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,523&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gynecology/ Electrosurgery/ Urology&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,841&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,973&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,552&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Neonatal&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,567&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,691&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,870&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Blood Pressure Monitoring and Accessories&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;18,212&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;15,715&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,233&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;52,281&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;49,054&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;42,178&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Included in the Global revenues (above) were OUS revenues by product category:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt; &lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Obstetrics&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;676&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;735&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;846&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gynecology/ Electrosurgery/ Urology&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,603&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,053&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,934&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Neonatal&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,517&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,347&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,490&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Blood Pressure Monitoring and Accessories&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,514&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,260&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,042&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,310&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;18,395&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,312&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</fil:RevenuesbyproductcategoryandregionTextBlock>
    <fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;Global revenues by product category:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt; &lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Obstetrics&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,661&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,675&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,523&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gynecology/ Electrosurgery/ Urology&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,841&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21,973&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,552&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Neonatal&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,567&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,691&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,870&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Blood Pressure Monitoring and Accessories&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;18,212&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;15,715&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,233&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;52,281&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;49,054&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;42,178&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Obstetrics_StGeo-Global"
      decimals="-3"
      unitRef="USD">4661000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Obstetrics_StGeo-Global"
      decimals="-3"
      unitRef="USD">4675000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Obstetrics_StGeo-Global"
      decimals="-3"
      unitRef="USD">4523000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global"
      decimals="-3"
      unitRef="USD">21841000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global"
      decimals="-3"
      unitRef="USD">21973000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global"
      decimals="-3"
      unitRef="USD">20552000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Neonatal_StGeo-Global"
      decimals="-3"
      unitRef="USD">7567000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Neonatal_StGeo-Global"
      decimals="-3"
      unitRef="USD">6691000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Neonatal_StGeo-Global"
      decimals="-3"
      unitRef="USD">5870000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global"
      decimals="-3"
      unitRef="USD">18212000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global"
      decimals="-3"
      unitRef="USD">15715000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global"
      decimals="-3"
      unitRef="USD">11233000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22_StGeo-Global" decimals="-3" unitRef="USD">52281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21_StGeo-Global" decimals="-3" unitRef="USD">49054000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20_StGeo-Global" decimals="-3" unitRef="USD">42178000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fil:ScheduleofousrevenuesbyproductcategoryTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;Included in the Global revenues (above) were OUS revenues by product category:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt; &lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Obstetrics&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;676&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;735&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;846&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gynecology/ Electrosurgery/ Urology&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,603&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,053&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,934&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Neonatal&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,517&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,347&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,490&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Blood Pressure Monitoring and Accessories&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,514&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,260&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:69.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,042&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:313.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,310&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;18,395&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:45.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:69.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,312&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ScheduleofousrevenuesbyproductcategoryTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Obstetrics_StGeo-Ous"
      decimals="-3"
      unitRef="USD">676000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Obstetrics_StGeo-Ous"
      decimals="-3"
      unitRef="USD">735000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Obstetrics_StGeo-Ous"
      decimals="-3"
      unitRef="USD">846000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous"
      decimals="-3"
      unitRef="USD">11603000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous"
      decimals="-3"
      unitRef="USD">11053000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous"
      decimals="-3"
      unitRef="USD">9934000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Neonatal_StGeo-Ous"
      decimals="-3"
      unitRef="USD">1517000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Neonatal_StGeo-Ous"
      decimals="-3"
      unitRef="USD">1347000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-Neonatal_StGeo-Ous"
      decimals="-3"
      unitRef="USD">1490000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous"
      decimals="-3"
      unitRef="USD">6514000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous"
      decimals="-3"
      unitRef="USD">5260000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y20_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous"
      decimals="-3"
      unitRef="USD">4042000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22_StGeo-Ous" decimals="-3" unitRef="USD">20310000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21_StGeo-Ous" decimals="-3" unitRef="USD">18395000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y20_StGeo-Ous" decimals="-3" unitRef="USD">16312000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fil:ProductSaleAndPurchaseCommitmentsTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 12 - Product Sale and Purchase Commitments&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has had license agreements for the rights to develop and market certain products or technologies owned by unrelated parties. &#160;The confidential terms of such agreements are unique and varied, depending on many factors relating to the value and stage of development of the technology licensed. &#160;Royalties on future product sales are a normal component of such agreements and are included in the Company&#x2019;s cost of goods sold on an ongoing basis.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;In 2022, 2021 and 2020, UTMD received royalties of $20, $15 and $20, respectively, for the use of intellectual property. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;UTMD had $5,242 in operating lease and purchase commitments as of December 31, 2022.&lt;/p&gt;
</fil:ProductSaleAndPurchaseCommitmentsTextBlock>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y22" decimals="-3" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y21" decimals="-3" unitRef="USD">15000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y20" decimals="-3" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:ContractualObligation contextRef="E22" decimals="-3" unitRef="USD">5242000</us-gaap:ContractualObligation>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 13 &#x2013;&#160;Employee Benefit Plans&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company sponsors a contributory 401(k) savings plan for U.S. employees, and contributory retirement plans for Ireland, UK, Australia and Canada employees. &#160;The Company&#x2019;s matching contribution is determined annually by the board of directors. &#160;Company contributions were approximately $159, $165 and $167 for the years ended December 31, 2022, 2021 and 2020, respectively.&lt;/p&gt;
</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y22" decimals="-3" unitRef="USD">159000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y21" decimals="-3" unitRef="USD">165000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y20" decimals="-3" unitRef="USD">167000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 14 &#x2013;&#160;Leases&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;UTMD has operating leases for a portion of its parking lot at its Midvale facility and an automobile at its Ireland facility. &#160;The remaining lease term on the parking lot is 9 years and on the automobile is 18 months. &#160;There are no options to extend or terminate the leases. &#160;The parking lot lease contains a provision that requires an adjustment every five years to the lease payment based on the change in the Consumer Price Index. &#160;This adjustment occurred in 2021 requiring an increase of $87 to the value of the right-of-use asset and lease liabilities. UTMD has no other leases yet to commence. &#160;As neither lease contains implicit rates, UTMD&#x2019;s incremental borrowing rate, based on information available at adoption date, was used to determine the present value of the leases.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Operating lease costs for the years ended December 31, 2022, 2021, and 2020 were $64, $63, and $61, respectively.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Supplemental balance sheet information related to operating leases was as follows (in thousands):&lt;/p&gt;
&lt;br/&gt;&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:23.85pt"&gt;&lt;td style="width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;As of December 31, 2022&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Operating lease right-of-use assets&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$395&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="-sec-ix-hidden:fact7"&gt;Operating lease liabilities &#x2013;&#160;current (included in Accrued Expenses)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;54&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Operating lease liabilities &#x2013;&#160;long term&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;341&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total operating lease liabilities&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$395&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:23.75pt"&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Maturities of operating lease liabilities at December 31, 2022 were as follows (in thousands):&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;As of December 31, 2022&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$54&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2024&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;46&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2025&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;41&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2026&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;42&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2027&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;43&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Thereafter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;169&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&#160;&#160;&#160;Total lease payments&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$442&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&#160;&#160;&#160;Less: imputed interest&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(47)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&#160;&#160;&#160;Total lease liabilities&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$395&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:23.75pt"&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;The following table provides information on the lease terms and discount rates:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;As of December 31, 2022&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted-average remaining lease term &#160;(in years)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8.2 years&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted-average discount rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3.3%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:10pt"&gt;&#160;&lt;/p&gt;
</us-gaap:LesseeOperatingLeasesTextBlock>
    <fil:LesseeOperatingLeaseForParkingLotTermOfContract contextRef="D221231">P9Y</fil:LesseeOperatingLeaseForParkingLotTermOfContract>
    <fil:LesseeOperatingLeaseForAutomobileTermOfContract contextRef="D221231">P18M</fil:LesseeOperatingLeaseForAutomobileTermOfContract>
    <fil:LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI contextRef="Y21" decimals="-3" unitRef="USD">87000</fil:LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI>
    <us-gaap:OperatingLeaseCost contextRef="Y22" decimals="-3" unitRef="USD">64000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="Y21" decimals="-3" unitRef="USD">63000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="Y20" decimals="-3" unitRef="USD">61000</us-gaap:OperatingLeaseCost>
    <fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock contextRef="Y22">&lt;br/&gt;&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:23.85pt"&gt;&lt;td style="width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;As of December 31, 2022&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Operating lease right-of-use assets&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$395&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="-sec-ix-hidden:fact7"&gt;Operating lease liabilities &#x2013;&#160;current (included in Accrued Expenses)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;54&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Operating lease liabilities &#x2013;&#160;long term&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;341&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:831.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total operating lease liabilities&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:264.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$395&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="E22" decimals="-3" unitRef="USD">395000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="E22" decimals="-3" unitRef="USD">54000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="E22" decimals="-3" unitRef="USD">341000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="E22" decimals="-3" unitRef="USD">395000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="Y22">&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:23.75pt"&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Maturities of operating lease liabilities at December 31, 2022 were as follows (in thousands):&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;As of December 31, 2022&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$54&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2024&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;46&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2025&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;41&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2026&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;42&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;2027&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;43&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Thereafter&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;169&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&#160;&#160;&#160;Total lease payments&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$442&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&#160;&#160;&#160;Less: imputed interest&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(47)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&#160;&#160;&#160;Total lease liabilities&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$395&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:23.75pt"&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;The following table provides information on the lease terms and discount rates:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;As of December 31, 2022&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted-average remaining lease term &#160;(in years)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8.2 years&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:796.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted-average discount rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:299.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3.3%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="E22" decimals="-3" unitRef="USD">54000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="E22" decimals="-3" unitRef="USD">46000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="E22" decimals="-3" unitRef="USD">41000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="E22" decimals="-3" unitRef="USD">42000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="E22" decimals="-3" unitRef="USD">43000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="E22" decimals="-3" unitRef="USD">169000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="E22" decimals="-3" unitRef="USD">442000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="E22" decimals="-3" unitRef="USD">47000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="E22" decimals="-3" unitRef="USD">395000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="E22">P8Y2M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="E22" decimals="INF" unitRef="Pure">0.033</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 15 &#x2013;&#160;Distribution Agreement Purchase&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;UTMD completed the purchase of exclusive U.S. distribution rights for the Filshie Clip System from CooperSurgical, Inc. (CSI) on February 1, 2019, after which CSI no longer sells the Filshie Clip System and UTMD distributes the Filshie Clip System directly to clinical facilities in the U.S. The $21,000 purchase price represents an identifiable intangible asset which will be straight-line amortized and recognized as part of G&amp;amp;A expenses over the 4.75 year remaining life of the prior CSI distribution agreement with Femcare. &#160;The agreement will be fully amortized in 4th quarter 2023. &#160;As part of the agreement, UTMD also purchased the remaining CSI inventory for approximately $2,100.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="Y22_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="-3"
      unitRef="USD">21000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem
      contextRef="Y22_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="INF"
      unitRef="Pure">4.75</fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem>
    <us-gaap:EarningsPerShareTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 16 &#x2013;&#160;Earnings Per Share&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Basic earnings per share is calculated by dividing net income attributable to the common stockholders of the company by the weighted average number of common shares outstanding during the period. &#160;Diluted earnings per share is calculated by assuming the exercise of stock options at the closing price of stock at the end of 2022.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:12.5pt"&gt;&lt;td colspan="6" style="width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td colspan="6" style="width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"/&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:12pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Numerator &lt;/b&gt;&lt;i&gt;(in thousands)&lt;/i&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:11.2pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,473&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,788&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,798&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Denominator&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted average shares, basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,637&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,647&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,658&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Dilutive effect of stock options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Diluted shares&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,643&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,660&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,672&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings per share, basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.53&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.05&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2.95&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings per share, diluted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.52&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.04&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2.94&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:12.5pt"&gt;&lt;td colspan="6" style="width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td colspan="6" style="width:1095.75pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"/&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2022&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2021&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:12pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2020&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Numerator &lt;/b&gt;&lt;i&gt;(in thousands)&lt;/i&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:11.2pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,473&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14,788&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,798&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Denominator&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted average shares, basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,637&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,647&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,658&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Dilutive effect of stock options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;14&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Diluted shares&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,643&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,660&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,672&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#CCEEFF;width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings per share, basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.53&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.05&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2.95&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:434.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings per share, diluted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:184.95pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.52&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:53pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.04&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:52.15pt;padding-left:5.75pt;padding-right:5.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:185.35pt;padding-left:5.75pt;padding-right:5.75pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2.94&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21" decimals="-3" unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y20" decimals="-3" unitRef="USD">10798000</us-gaap:ProfitLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y22" decimals="-3" unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y21" decimals="-3" unitRef="Shares">3647000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="Y20" decimals="-3" unitRef="Shares">3658000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="Y22" decimals="-3" unitRef="Shares">6000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="Y21" decimals="-3" unitRef="Shares">13000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="Y20" decimals="-3" unitRef="Shares">14000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y22" decimals="-3" unitRef="Shares">3643000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y21" decimals="-3" unitRef="Shares">3660000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="Y20" decimals="-3" unitRef="Shares">3672000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic contextRef="Y22" decimals="INF" unitRef="UsdPerShare">4.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic contextRef="Y21" decimals="INF" unitRef="UsdPerShare">4.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic contextRef="Y20" decimals="INF" unitRef="UsdPerShare">2.95</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted contextRef="Y22" decimals="INF" unitRef="UsdPerShare">4.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y21" decimals="INF" unitRef="UsdPerShare">4.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="Y20" decimals="INF" unitRef="UsdPerShare">2.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 17 &#x2013;&#160;Recent Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has determined that other recently issued accounting standards will either have no material impact on its consolidated financial position, results of operations or cash flows, or will not apply to its operations.&lt;/p&gt;
</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has determined that other recently issued accounting standards will either have no material impact on its consolidated financial position, results of operations or cash flows, or will not apply to its operations.&lt;/p&gt;
</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SubsequentEventsTextBlock contextRef="Y22">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 18 &#x2013;&#160;Subsequent Events&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company evaluated its December 31, 2022 financial statements for subsequent events through the date the financial statements were issued. &#160;The Company is not aware of any subsequent events which would require recognition or disclosure in the financial statements. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</us-gaap:SubsequentEventsTextBlock>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>118
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
MHEXT7;TQ%"_KQOC %;;9>ICB10A".^#[->=J;^A>VUVM_A]02P,$%     @
MKH)[5AM_G%MB!0  ,Q4  !@   !X;"]W;W)K<VAE971S+W-H965T-"YX;6RU
M6&U/XS@0_BM6#YU8B:6V\\Y!)6C@%FFAB):[SZ9QVX@D[MEN@7]_=A+2UG&R
MG,1]@.;EF?$\X\G,>,Y?&7\1*THE>,NS0EP,5E*NSX9#,5_1G(A3MJ:%>K-@
M/"=2W?+E4*PY)4DIE&=##*$_S$E:#$;GY;,'/CIG&YFE!7W@0&SRG/#W*YJQ
MUXL!&GP\>$R7*ZD?#$?G:[*D4RJ?U@]<W0T;+4F:TT*DK "<+BX&E^@LQJ5
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
MLFN_69Z6F[_@J=$:/3!;E56^:!J3$2R2;/L8/3=![#6 YH$&J&F F ;(/=#
M;!J8; -XH('5-+#8(7D'&MA- _O8]^ T#9Q-]MNP-DG[416-SHK\"12UFKC5
M3S;3M6E- DZR>F5-JH+\-R'MJM']].(3^!+X5^.+S^#V[L:_'T\G)^#J>GP*
MQC?7DYO/5_[%-/#!9$H>O@37TPFX"<G1S?BW3S>?_>!N\A,(?K^_FOX%^N!^
MXH.?/_P"RGE4X!(D&9C.\U4997%Y CY0QV>#B@R_'L1@U@SU<CM4=&"HXWRQ
M(&MQ4N6S;X+68WGKBSA.ZK4<I> V2N+^50;&T3*I\E3@Y2M'0K;QO-Y?:PRN
MLEF^P *70.YRARNR\W$,@JC(DNQ1%$DHMYCF5<2,?T 6P&X5H-TJ0!L?ZX!/
M\'V55"_@,DJC;(9/P#I*5QA$%?#Q[!28\ 0@ PY%4[;U=3:^]5EL/3+=L\%Z
M?UYX"?1HB<]+^D/70[0J$!A!PT,&+0L%,@,:0W,GHR(R=Q&9G2)JEO@Q&6V-
M;2HCQ+RYL;3W^O/E8[F,9OB\1U9>B8LU[HU^_ $ZQJ^BY:O3+-!I%FHRHZ;0
MVDVA)9W"Y@12UB<0D)3EBNR]U9*\@I]Q,4M*#/('@!?+-'_!N)'ER_JD(3Q;
M6=PZ8U;BV.(GWF:7/J]A7 *E(I3W0V5E[[*R_ZVL7O>&*#.;&RF3QU@ZK*[[
M0*=9H-,LU&1&S:VSFUM'.K>3O=D"Y+.+7*66T>8 /]?/19]EEXYRM3O<W)+Q
M,JN=U["K7:D(Y?U0B;B[1-SC5_MR5<SFY&(U!N0ZA5P]5TF!8U$D+O^I!9E,
M7&ZL?0LQ(I\7L:$(;!S;MIE@1*JAZXBC\7;1>.^,1K;?/7Y('GM](.V_ZX[7
M:1;H- LUF5&3.-Q-XE ZB03""&*1S;XJ"IS-7D!51%F9;C=]%/]-.(/08B6:
MP:%RWP]5R]?G%= VV*L[I4VHL*&2@48+0,;Q"SQ.UDF,#^&)H1KB6"WQU9)
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
MJ;QN5H;XV231V*:HNA(KMFL7C.J""+KPMF6"O#3^UX$Y)9J57H Z/96F0J;
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
MPQ%N]-KDUV-1$FU4E ;\(/)*@[9A1 Z0'=M'' 62!&E'@L2INJ5>ZR&ULJ(
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
M$8,1!-82&)R-([BVY<X\Z.S1Z51]1(ZK8AMBUSC8C"C)53<2F2M]&SJY=)8
M@&YBI2<A4 )WD4TB7DCC\[\F5WO?:<H^=+RDTUFA]-Z9:VG1]KS <Q;2?*?>
M:BY<^@, :LNA+A_B!QHJO7=JMPOUARCM/3ZC!1@E$]YZ=#P[%;C\\_EDT+0"
M(!A7<N^2QX,1*33BK0&*L_GPF8X+BCXZ;"2_ 18AEVL!,Z-BXI8=E2(<M0)1
MG#8=,\M E#M[=(N)6J847./]C=S_F.YCX6'B?*>%U[&5W%CZC[!#$XD;E'I=
MV+],8H,KN,$Y?S0%Z:H@"@63;IA0_\_XPHJMR<148 UYZ!L#K>?&QS8.CFVJ
M=$DF<1)/B01PDX1$-#M;$<'&+<NE0E@AU@I/,NAI[XM^7_07BY#RK^I&N:,G
M+QUHNLI@*TEWN<//)LOFRC'BCQ_24+KQ*DR<3,Y/GM*_I_SOV3/UE@T!CF/D
M,LT]49^K^8F:G_X8V<D>2R.J)_0OBE+\^_28[HP%V$ 6WE4^4;VRM:U@3P*B
MY#UGM@RT#@6ILLJ&=VB&W5ZNZWJDT]<R6$\YY/+4G$QH.V(3SBI4#*SI*F,8
M4O_]^BH55)Q(6@0;.J+\>?9??'TT7B@4G<E,;NV,X.+MVK&^:4W8>+WA=GMZ
M"\,:IM8@&.\'^(3IDD2J_C*>\X8 _J4TPBB37.R_>/: !2_C B.PP#N(A"3]
M1=!2PG#I#"G6]7R*7'",'S?@:$!JX\EY(1\?J/Z<5FKRW%86'Q]M;6]U_,"E
M.O:P=)F%;2/(7433ER79_DFDT%6ZZDH";[>H<0&UJ,RX&7-"K5%RGN8[DQ-Q
M(IQPK+3]TU72MRRXV$Y:P]T8MB-;1TENG!7LRZT2P<^C]F';Q<N0T3P8)B?E
MI38H;4* \?Y-2"B.[1"6NQ[J%;3T-T,%3&3T80X3Y7T]SJGZG]3!'?*P:P%0
M!X'G)4I\^I[2>NKF\H65G3-VN*69KI"JK[_(S>'KM_DKZ2_'@[_K7WMCWDYR
M](T@4HJ-P_YF?L2%7#0SN.,[1KUEYZIO<-D26,K4]]PD"NI>?O3QKF=VD<<Y
M+4O<&@:YK&D.8I#FD_OI:]_/-8X&/ZM!)%KQCX?X?F?3RB]L\MO\^Z0+^5E.
M/UQ^W/0)93"IJC)+3)U-GYX=R-%3>FC=AG^DLW MPAY_I!]'&$\#\/W2 5?%
M!R*0?[7U^G\!4$L#!!0    ( *Z">U8)[[K#/@,  /<&   8    >&PO=V]R
M:W-H965T<R]S:&5E=#DN>&ULK55M;^,V#/XKA&\X] "UMF3++[DD0-/NM@ZX
MK;CBML^*S23&V58F*4WW[T?)J=L!O> ^# 9$BB(?/J1L>G[4YIO=(3IXZKO!
M+J*=<_M9'-MZA[VR5WJ/ YULM.F5HZW9QG9O4#4AJ.]BD21YW*MVB);S8+LW
MR[D^N*X=\-Z /?2],O^LL-/'1<2C9\.7=KMSWA OYWNUQ0=T7_?WAG;QA-*T
M/0ZVU0,8W"RB:SY;9=X_./S9XM&^TL%7LM;ZF]_<-8LH\82PP]IY!$7B$6^P
MZSP0T?C[A!E-*7W@:_T9_5.HG6I9*XLWNONK;=QN$941-+A1A\Y]T<=?\52/
M]'BU[FQ8X3CZRB2"^F"=[D_!Q*!OAU&JIU,?7@64WPL0IP 1>(^) LM;Y=1R
M;O01C/<F-*^$4D,TD6L'?RD/SM!I2W%N^;MV" (NX1:=:CO0&[A!0^H *]6I
MH49X""_'=5WKP^#L/':4U@?']2G%:DPAOI.""_BL![>S\//08/-?@)CX3J3%
M,^F5.(MXB_45I)R!2(0X@Y=.34@#7GJF"6\6-H9E;X?Y[V5F]ZK&140?A$7S
MB-'R_3N>)Q_/D,HF4MDY]/_G9GXHQ?MWI>#\XP\G(L<:^S6:Z0[\PE_.U="
M=CMR,.39/JIUAW8&/X%DA4B"%&4!DD-:P04OQ0=:9?XAG,BR"I(7"=P-CS@X
M;5H??D5FSLHJ#S++2UIYE=*:5F6 EI"R(O4)2E;RC&3.)/G_HG5S;+MN-A6D
MK"_S-S4<:!(!]X@92P@F*#S/X*+(,J*5$ZM+>LB>LE1F+YY_A +O&B+8;EI?
M(M%U:MBV7KVV%EVH61#),DA!7P*G/O%4>H+4@8I51+=D.5DJEA<E",Z2)'D6
M849>ZLWE5XO4*PE95@'G3'(2@E4\ 2E8(27(G*54\44F6%J41#PMF93"MY0G
M9"J\4K B%_Z:S $;P">:[':\F#3U#FGNF\E]8P4U4R094/<$4?5=SH7WR5B1
MB5!.569OO>;QJV'4H]F&D6LAO!KC7)JLTU2_'H?9B_OX2_BLS+8=+'2XH=#D
MJI 1F'',CANG]V&TK;6C01G4'?V9T'@'.M]H>L-/&Y]@^M<M_P502P,$%
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
MM$]P^Y5RIL; 'S ]5?D;4$L#!!0    ( *Z">U8IT]MD908  ,@.   9
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
MHO?5[)ZXT"W/<>%1T6M43^@M3S\$B?_Q"*EH3RHZAO[ST?\IF-,/*0N"CV_
MX 9+5 H+,/P9N-9H-(PJP5>B$D:@'D,N:8MI [($LT$H944[531K,%BW4M%6
MA4*4A()-COJ"$'.L5ZCVV;%-8!N?3#]A8R2I;)4P>%;(;:.!-\4A!!0=@I'P
M^/7V^O(.3B#P0VK3U#8)7%K[G 2)BH)"=BM3=A7MWUQV#;$/,[(,(8/+/%<=
M>7;@C3,UY$E#YD.<0I(294I>+GA_$) (KZ4RXI]^8L0F+(O'MD_CC/IPXH?1
M^#5TH@^HL0&=0$-'Y8D5]I-PW(^2E VC-$K'\(W"2!JM;- 2IL"^(@ ^TX&J
M$;BBOQ["36']"[G2@';[' WQ=4><&DLAFB04A1,()UD:NI[%X2OK410E8V 4
MA!&5!;&2AE=.+: HVY[->C4_8KNB.60XI*R 4LG:ALR%WSK6&9I=O0!OV^K%
ME0IYK TWG<M]B04JLJ6X<8FFX%O<(0B_XO2G ?&].)K_6'=63X"R0HJVCUT?
M3+(@A@=C5P\3"A%%*(I2"),,Z*2G<[QY*S!:53U#BSPFH(!EU/H!E5?LP_TI
MK]N/-XY43N$2IB_#FC==2;=.IVR$6B5+8>C"*+K^/AI1\8PH0:.9K32L+3ZV
MW*BA3(WBM"_[(2&?T8\E(3P^#!N;YLNW;$>93W"9JV JY^L-;];65[BW/I_1
MQ@FH_9VBI2#R(8-1$/Y?6=A2+@A<&Y$[KW8VWZWO%=KE][*TQ5\L]YN=<<H@
MFT2SN!_X?D2#C#9JL$]:2AY$,)OX\8R\2/UL[QOS)TF<64W22 (["&FK^N\=
MX=.#R[1&M79/!EOV5/W]O;J?W;]*+OO+^%6\?])\X6HMZ/RKL"15_WP6>Z#Z
M9T+_863KKN:5-'31N^&&7E:HK "MEY).]N'#&MB_U9;_ E!+ P04    " "N
M@GM6!028<CD(  #9%   &0   'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6R-
M6&UOVS@2_BN$-UW< 8ZL%]NRTR1 TW;O"ER[1=+NXC[2,FT3D425I.SX?OT]
M0TJR[#AI$2 6J9GAO#XSXO5.Z4>S$<*RIR(OS<U@8VUU-1J9;",*;@)5B1)O
M5DH7W&*IUR-3:<&7CJG(1W$83D<%E^7@]MKM?=6WUZJVN2S%5\U,711<[^]$
MKG8W@VC0;MS+]<;2QNCVNN)K\2#L]^JKQFK425G*0I1&JI)IL;H9O(NN[L9$
M[PC^DF)G>L^,+%DH]4B+3\N;04@*B5QDEB1P_&S%>Y'G) AJ_&AD#KHCB;'_
MW$K_P]D.6Q;<B/<J_ULN[>9F,!NPI5CQ.K?W:O=OT=@S(7F9RHW[SW:>-DH'
M+*N-547## T*6?I?_M3XH<<P"U]@B!N&V.GM#W):?N"6WUYKM6.:J"&-'IRI
MCAO*R9*"\F UWDKPV=LOR@HV8Y?LSXJ\9*Y'%E+IW2AK)-QY"?$+$J*8?5:E
MW1CVL5R*Y;& $=3I=(I;G>[B5R5^$%G DFC(XC".7Y&7=#8F3E[RBHUG#?-L
MX_-L5 Y7IN*9N!D@WXW06S&X_?VW:!J^?46I<:?4^#7IO^3X7Y+P^V^S.(K>
MMG+8MXU@[U51\7+/-MPPI%#VR)1[RZJ<@V2WD=F&\=INE);_$\R"9:UY:9E:
M'=$;9A43N5S+12Z8**I<[84P0[:4&F6EM&&\7#(% 9K)<BFW<EGSW+%5M<YP
MOF!U14N."EROM5AS:(UC)N$<YZK:D "SX? P;6>J**"G4V)(&U[7:7H@!BD#
MO!B+A2S7C#M&)(TH%E"C39R O<OSS@YGGEBR&CFJG<'>%22L?<<M*DYK 3\
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
M;KL5-F\G]]V\W7]W0N>EI*+AFJ#1Q: ?@&YW2JM8U?@Y7BE+6\&+!:UAU,Z
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
M5?O.D"E+?<:;)35VU,Z!]E>*4JB;N /Z7\7L+U!+ P04    " "N@GM6Q@&
M'J4$   U"P  &0   'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6R=5MMNVS@0
M_96!FBTV0&);MN*DN1A(VBZV0+,;]+)]IJ6QS8TDNB05)W^_9TA9L>'$*/;!
M,B]S.6<X,^3ERMA[MV#V]%B5M;M*%MXOS_M]ER^X4JYGEEQC9V9LI3RF=MYW
M2\NJ"$I5V1\.!N-^I72=3"[#VIV=7)K&E[KF.TNNJ2IEGVZX-*NK)$W6"U_T
M?.%EH3^Y7*HY?V7_?7EG,>MW5@I=<>VTJ<GR["JY3L]O,I$/ O]H7KF-,0F3
MJ3'W,OE47"4# <0EYUXL*/P]\'LN2S$$&#];FTGG4A0WQVOK?P3NX#)5CM^;
M\H<N_.(J.4NHX)EJ2O_%K/[DEL^)V,M-Z<*75E$V/4TH;YPW5:L,!)6NX[]Z
M;..PH7 V>$5AV"H, ^[H**#\H+R:7%JS(BO2L":#0#5H YRNY5"^>HM=#3T_
M^<MXIC2C8_K,(.<N^QY69:^?MQ9NHH7A*Q;2(=V:VB\<?:P++K8-] &GPS1<
M8[H9[K7X@?,>C=(C&@Z&PSWV1AW'4; WVL/Q16)1+7M93<KAW"U5SE<)\MVQ
M?>!D\O9-.AY<[ &5=:"R?=9_*?![+;R,;VWV[9NS89I>M,;I^[?;#[10CE#-
M5GE=SZF,.ZAK4K0T-A2)F9'VCI;*W@<9XTGYL'2KBP=5,LU4KDOMGTC5!7ZD
M&J2HF6ILM9*?+)>RN9;LT;<%HX"E172.R;.M"!X]]C;=:4?OZ(F5=<%#*['A
M!0+I&54AY8)IBVW\:@-R0L*1-\2/GD7=!D>Z5@B+&(JL(Z1-MQ%4#JM Z20B
MUCSHT'K\ L0L_VPTHAPH%_^B,-&9//$#VR>:H;&TF.&Z<P,'3T%*VD9')5^H
M>@X:<?8>>)N*+=U9G3-]0@D]"CJPW'!C\KRQ%C:@A:)(6S@"'GATG=O@#Z=W
M<':ZQH#C:L*:3*QTIV,S.VX@IYQ#NY?P1IRE5E,Y*BV1Z5)% @I5N\Z4)^C
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
MY'G4X['AW8HV)'"\)KZQP0@%QFU=_@902P,$%     @ KH)[5HNIB?QR @
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
M.N+)'Y<U/[7@Q8'W2\?S>C DP?AX+_\#4$L#!!0    ( *Z">U;[O9PG= (
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
MKK%@K^0N4H^NY1$BS*/'>3M2*VU1(5HJ&E#Z-%5'M93J3(4&U)$U^XRTH)Y
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
M].DL M?-CFY#MF[]>F^)W=\N*QZWZ$("?R\M>[;?A .& 9[] 5!+ P04
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
M[KX[KKKG]IMX]]'R43GL!4\5KZ":#D]F2;>BMD2P37Q\ES9@%<9CB6\G=B*
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
M)A\_9,*EFTI:!-O&V\'&!M"+CS4N=^3X -Z7%C>$?L$.QNOB^A]02P,$%
M  @ KH)[5NEZ,%?_ P  )@D  !D   !X;"]W;W)K<VAE971S+W-H965T,S<N
M>&ULE59M;]LX#/XKA'<8-B"-$S=;BC8)D&8[7&_8$#3MW6?&IF-MLN1)<M/<
MKS]*=MQDEP:X#XGU0CY\2(J4)EMM?MB"R,%S*96=1H5SU74<V[2@$FU?5Z1X
M)]>F1,=3LXEM90BSH%3*.!D,/L8E"A7-)F%M:68373LI%"T-V+HLT>QN2>KM
M-!I&^X5[L2F<7XAGDPHWM"+W6"T-S^(.)1,E*2NT D/Y-)H/KV]'7CX(_"5H
M:P_&X#U9:_W#3^ZR:33PA$A2ZCP"\N>)%B2E!V(:/UO,J#/I%0_'>_3?@^_L
MRQHM+;3\6V2NF$97$6248RW=O=[^0:T_'SQ>JJ4-_[!M9,?C"-+:.EVVRLR@
M%*KYXG,;AP.%J\$K"DFKD 3>C:' \A,ZG$V,WH+QTHSF!\'5H,WDA/))63G#
MNX+UW.R;=@1#N(!5DQ70.:S$1HE<I*@<S--4U\H)M8&EEB(59*_A3J6Z)'C
M9[+P;K_^?A([9N1QX[2U?MM83UZQ/DS@JU:NL/!9990= \3L2N=/LO?G-CF+
M^(G2/EP.>Y ,DN0,WF47G\N =_D*WMZY4[XUFJ/3FKZ:KFV%*4TC+A=+YHFB
MV=LWPX^#FS.\1AVOT3GTV6$*3G$[JWV:VU%6'PJ"A2XK5#NNG' &+' / -%(
MN2!5<]8,S%<+&(\&/7C[YBI)!C<'9\9K'.+V@LCP!K8%&5KO? &1,92U@&@(
M6+JJ'2\UZ(Z9H+7<GU!E( 6NA11N!R6Y0F?]UYG^ OV_N;94>\Q5I 5WH)^U
MX& Q(60N4KX8.(I)<$$R8RXAWD,+2JNT9D$N)\%]Z'#7.G14^AVNNUPH5*E
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
MR?'I20*N?WKZ1;!-;/>W-M#C$:<5O=;H6('V2TLM?UBP@_']7_T 4$L#!!0
M   ( *Z">U:62?ODL (  #T&   9    >&PO=V]R:W-H965T<R]S:&5E=#0P
M+GAM;*U546_3,!#^*Z<@$$A;TV;=@-)&6C<0/ RJ=8-G-[DV9HZ=V9>E^_><
MG30,J:OVP$MBG^_[_'UV[C)MC+US!2+!ME3:S:*"J)K$L<L*+(4;F HUKZR-
M+07QU&YB5UD4>0"5*DZ&P[.X%%)'Z33$%C:=FIJ4U+BPX.JR%/9QCLHTLV@4
M[0+7<E.0#\3IM!(;7"+=5@O+L[AGR66)VDFCP>)Z%IV/)O.QSP\)/R4V[LD8
MO).5,7=^\BV?14,O"!5FY!D$OQ[P I7R1"SCON.,^BT]\.EXQ_XE>&<O*^'P
MPJA?,J=B%GV((,>UJ!5=F^8K=GY./5]FE M/:+K<8019[<B4'9@5E%*W;['M
MSN$E@*0#)$%WNU%0>2E(I%-K&K ^F]G\(%@-:!8GM;^4)5E>E8RC]+LAA!$<
MP[*]%3!K6,J-EFN9"4UPGF6FUB3U!A9&R4RBF\#"HD--(IRK!PB%#H3.&5I*
M)2S<B"U'WNX@[Z8QL5B_99QUPN:ML.098:,$KHRFPL%GG6/^+T',+GNKR<[J
M/#G(>(G9 $Y&1Y ,D^0 WTE_=">![^09OIVY?=Y:Y'@_TA?:Q%4BPUE4^:.T
M#QBE;UZ-SH:?#N@:][K&A]C3%][./MG_A;B+D]A"*-P'U#4>5];D=>:_([)"
M.Q&*TH%TG)$9RU<,@LE 2;&22M(C- 5JH +!,1^8+*NM&\#MS=6E1VE#C+RO
MI64D&2X;*@JC\I#=[_[C=MD&CH).0:!0.(*/P]?>06Y*="2S\$ETR 8M>L*V
M^-!RI# @?) Y<8ME16!L'Y4:?M=6NEQVEE@WAU^N<[#OSN,G)<TB-J%Q.0C%
MV%9W'^U[XWG;$OZFMXWU2MB-9%T*UPP=#MZ?1F#;9M5.R%2A0:P,L>,P++B_
MH_4)O+XVW"2ZB=^@_V.D?P!02P,$%     @ KH)[5G(-+++3 P  \@@  !D
M  !X;"]W;W)K<VAE971S+W-H965T-#$N>&ULC59M;]LV$/XK!Q4H6B"1;"5]
M06H;<)(.*X8603QOV,>S=)((4Z1*4E&\7[\C)2MQZ[C[8O/E[KGG7GBG6:?-
MUE9$#AYKJ>P\JIQKKI+$9A75:&/=D.*;0IL:'6]-F=C&$.9!J99).IF\3VH4
M*EK,PMF=6<QTZZ10=&? MG6-9G=-4G?S:!KM#^Y%63E_D"QF#9:T(K=N[@SO
MDA$E%S4I*[0"0\4\6DZOKB^]?!#X2U!GGZW!>[+1>NLW7_)Y-/&$2%+F/ +R
MWP/=D)0>B&E\'S"CT:17?+[>H_\6?&=?-FCI1LN_1>ZJ>?0Q@IP*;*6[U]WO
M-/CSSN-E6MKP"]T@.XD@:ZW3]:#,#&JA^G]\'.+P?Q3202$-O'M#@>4M.ES,
MC.[ >&E&\XO@:M!F<D+YI*R<X5O!>F[Q33N"*9S#JL\*Z )6HE2B$!DJ!\LL
MTZUR0I5PIZ7(!-DK^-.@LA)#6%F>P\/.*[AIC2'E1>#-7OCM+'%,TQM+LH'2
M=4\I?8'2-(6O6KG*PF>54WX(D+!_HY/IWLGK]"3B+64Q7$S/()VDZ0F\BS%H
M%P'OX@6\O7/'?.LU+X]K^B=V91O,:![Q&[)D'BA:O'XU?3_Y=(+7Y<CK\A3Z
MXI=Y.4;X).1QPK_._]):<A90Y2 %;H04SA^SL*L(;G3=H-J]?O4QG7[X9*$8
M &R[L2(7:+PL&@(W&*(<A'(:UO$JAEQ+B88%7 ##IN%LX$82T&-6H2H)#*L$
M@1VA.2>5Q_"-&US)38I)&)":^5EN*I8?KZ_MPN@ZH+E#UXZQQ>.^>;[<47R[
M8;K(!V"I04\%,H;0BO@],2:_Z6Q;:9F3L0,HT/=6N%T,2U!4HF]4!TP$,\A8
M69U0WAOWAK.0"<='L@<+@;L-@8,'E"U!Q>V*##N(:A_)1G.0.=#@N.WZ&[?W
MM2-VCAFT*.6.%VS0A)RPK7WR>IM9<*+15KSD1*=;F0^A[^..S_/*MG#+Q!B[
M)_HRP[WE0Y(]MQC^&5)_P.''"N!T**W.BU:%(8%R=(-[O=HR7&A_O)&H,K)G
M0'$9P^?U?<C_<GT[7D%%[-=F%XBN_W@JYMW94!N9YK[Z;U\<WBI/5JX.7WY"
M<860YT6//&XMG84"&BL[AB^]A#<ZB(!P5/_T3(9 =6$:^?T#VQA>A/=V?")O
M_"S+?4EU%:D> D,0[%.F=1;"D;^%O#6>J,?V;RJ&8^TJ>3:':C)EF+860@C[
MD32>C@-]V<^Q)_'^:^ KFM*G2E+!JI/XP[L(3#]A^XW339AJ&^UX1H9EQ1\E
M9+P WQ>:)]NP\0;&SYS%?U!+ P04    " "N@GM6"C=]W(T"  "X!0  &0
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
M';!5EOK)+TOZP%"[ -K?*>J"WG '#%]B]A=02P,$%     @ KH)[5MF._^5
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
MUBAO#Y2'64) (#X-.4N SD,B4KC5#9+L_75Q5397N-D>-7? \0N] IYQR(@
MQL*$9\##F%-DP>8IQ'%($> FS_NZKZ15!=X,F*^\',\&3<-89)?8"!ES=8S1
M FL$RSB_?'[\)MHA-'@O7^!>-"4N-2%%*A> 0;&K*4$X_A\[Z/]D!RK#/3/J
M[1 9^8T=F Z4E7*DR_C<I9G.V8OL$"2%>8(.AC$A0$4H!#EO!P..&Z59ZNR@
M*7;#E IDP?%C1#LX(^?M0+^\'51P;P>?D\&.E+#?VT$H]W:(9+0C&>T0-(53
M!SIZ<D77RNS]0]1!KOO&#K?U-#J]=3?#%?]S^?!0?I)F7S8=5&J'H60V3P(P
MP^,S=*QN_86_U1:?#]\\X'NMC%N \SN-E_[8<1M,?P"K?P%02P,$%     @
MKH)[5JM(R@?$ @  % 8  !D   !X;"]W;W)K<VAE971S+W-H965T-3(N>&UL
ME55M3]LP$/XKIPQ-5"HD3=J2=FVD IN&-% %;/OL)I?6PK$[VR&P7[]SDH9.
M*M7VQ:]WSSW/.7>954H_F0VBA9="2#/W-M9NI[YOT@T6S)RK+4JZR94NF*6M
M7OMFJY%EM5,A_# (QG[!N/2267VVU,E,E59PB4L-IBP*IE\O4:AJ[@V\W<$]
M7V^L._"3V9:M\0'M]^U2T\[O4#)>H#1<2="8S[W%8'HY=/:UP0^.E=E;@U.R
M4NK);6ZRN1<X0B@PM0Z!T?2,5RB$ R(:OUI,KPOI'/?7._0OM7;2LF(&KY3X
MR3.[F7NQ!QGFK!3V7E5?L=4S<GBI$J8>H6IM P_2TEA5M,[$H."RF=E+FX=_
M<0A;A[#FW02J65XSRY*95A5H9TUH;E%+K;V)')?N41ZLIEM.?C:Y4Q;A L[@
M1J:J0'AD+VBF\$"/GY4"0>5PC3EJC9F[@X4Q: TPF<$WSE9<<,O1P.DC6PDT
MO9EOB92#]M.6P&5#('R'P""$6R7MQL!GF6'V-X!/:CI)X4[297@4\1K3<X@&
M?0B#,#R"%W4IBFJ\Z!V\1IJ_2XDYI+%!&!Y&<(4U-5N6XMRCRC&HG]%+/GX8
MC(-/1_@-.W[#8^C)?[[5(?I' QRF3Z%2+%:HNU2[8>"&@#ZF9Y16Z5>H-+=X
MEJE*-D0RGA-#E"E]-%F)8!5\O[NY6BSA! 9!1&,<NV$,"T$-@Y$A4.N!3)4K
MFY>"RCA5I219T80B0Q3"(DUU29+%WO?H0K54#4P"&,4PCHDR\4\Y:_H!F;!"
M:<M_-P>G83^<C'INCD<3FJ-^$ U[;SGE38E85R)]D-0Q3YQQ,(YZS6H<A^TJ
M'L:]0T_K[U5J@7I=]R,#M:2F:+O3KN4MFDI_,V_ZY2W3:TY9%9B3:W!^,?)
M-SVHV5BUK>M^I2QUD7JYH;:-VAG0?:ZH]MN-"]#]")(_4$L#!!0    ( *Z"
M>U9.ZC[ :P(  '\%   9    >&PO=V]R:W-H965T<R]S:&5E=#4S+GAM;)U4
M74_;,!3]*U?9-+42(XD3"G1M)%J8Q@,3 K9ICVYRTT3X([,=VOW[V4X:.JE4
MTUYB7_N><\^Q<SW;2/6L*T0#6\Z$G@>5,<TT#'5>(:?Z5#8H[$XI%:?&AFH=
MZD8A+3R(LY!$T23DM!9!-O-K]RJ;R=:P6N"] MUR3M7O!3*YF0=QL%MXJ->5
M<0MA-FOH&A_1?&ONE8W"@:6H.0I=2P$*RWEP%4\7J<OW"=]KW.B].3@G*RF?
M77!;S(/("4*&N7$,U XON$3&')&5\:OG#(:2#K@_W[%_]MZMEQ75N)3L1UV8
M:AY<!%!@25MF'N3F"_9^SAQ?+IGV7]CTN5$ >:N-Y#W8*N"UZ$:Z[<_A7P"D
M!Q"ONROD55Y30[.9DAM0+MNRN8FWZM%67"W<I3P:97=KBS/95VD0SN$CW(I<
M<H0GND4]A4=[^47+$&0)2\D;*5 8[:+7/+C9VE]#(XP6*+"LS1A&3W3%4(]G
MH;':7(4P[W4L.AWD#1TQ@3LI3*7A1A18_$T06E.#,[)SMB!'&:\Q/X4D/@$2
M$7*$+QE.*O%\R1M\G;5P=S+ZD,>.(3W,X/IKJAN:XSRP#:11O6"0?7@73Z)/
M1_2E@[[T&'OV?U=VR,71.H==P$^D2@.ZNP-[\LA7J(;3=Y_8?2)8MDI97? >
MTI-)0NR8G%Q>)'XD9XG%EF@S"ABEZ60,Y#*"$8GC,3Q)0YF'Q1<3/Y+S#A:E
M!Z\WW&L*CFKM6U]#+EMANOX85H?7Y:IKJM?T[FFZHVI="PT,2PN-3L_/ E!=
MNW>!D8UOL94TMF']M+(O)"J78/=+:=NL#UR!X<W-_@!02P,$%     @ KH)[
M5E(4_2L( P  G08  !D   !X;"]W;W)K<VAE971S+W-H965T-30N>&ULG55M
M3]LP$/XKIPRA5BKDM85 6VG T/9A&VK9IGUTDTMCD=B9[:SLW^_LA !2J::I
MJE_O'C_/7>\ZWTGUH$M$ X]U)?3"*XUI+GQ?9R763)_*!@7=%%+5S-!6;7W=
M*&2Y<ZHK/PJ"F5\S+KSEW)W=J>5<MJ;B N\4Z+:NF?ISA97<+;S0>SI8\6UI
M[(&_G#=LBVLTWYH[13M_0,EYC4)S*4!AL?#>AQ=7B;5W!M\Y[O2+-5@E&RD?
M[.93OO "2P@KS(Q%8#3]QFNL*@M$-'[UF-[PI'5\N7Y"OW7:2<N&:;R6U0^>
MFW+AG7N08\':RJSD[B/V>J86+Y.5=B/L>MO @ZS51M:],S&HN>AF]MC'X5\<
MHMXA<KR[AQS+&V;8<J[D#I2U)C2[<%*=-Y'CPB9E;13=<O(SRR_2()S!"7P2
MF:P1[MDCZ@M84_+SMD*0!7PH"G2Q>V$#*T9^*\RDR'C%F8OPZ)YM*M3CN6^(
MF<7WLY[%5<<B>H-%&,%G*4RIX8/(,7\-X).D05?TI.LJ.HAX@]DIQ.$$HB"*
M#N#%0YQBAQ>_@==)\Y_BHO=I[!"2_0BVNBYTPS)<>%0^&M5O]);'[\)9<'F
M7S+P2PZA+_\G8?LT''QEOP;XB4QI0)LYH+ACO4$UQ-X.H1T"N,4<%:N =ZP,
ML<)'ZBX:@1DP)8(VS+1&JC^@+-TCB"8S<K3SU,WA) VGL#;V]AD&-21I $ER
M#O$L!2I7*D;QVF!$^7,,+?*8@,(HI3$( YA. U@=L[JYO'&D,H4Y-QJ8R*G4
M1%M0ZV@5%UMHE"RXH:K/VZZIC.(QC&;T/1N3=*PM/C;,J+XDC&+4O[HE(9_0
M)YK%\&W=%1K0>?&:[2@-""Y-:8BG8[@NF=A:K5T"3R!.0QJ_4K04) &D, J)
MP[TT%-@C2";A^<S-T5E,<SP)DKT_?_]%RZA1;5UCU)#)5IBN>PRG0^]]W[6<
M9_.N<7]F:LN%A@H+<@U.SZ8>J*X9=ALC&]> -M)0.W/+DOX_4%D#NB\D-:%^
M8Q\8_I&6?P%02P,$%     @ KH)[5BR?JN]K @  C@4  !D   !X;"]W;W)K
M<VAE971S+W-H965T-34N>&ULG51M;],P$/XKIX 02&%QTO1EI8VT;DSLP]"T
M#1 ?W>3:1'/L8+MK^?><G30K4E<AOCAG^^ZYY[G+>;95^LF4B!9VM9!F'I36
M-M,H,GF)-3=GJD%)-RNE:VYIJ]>1:33RP@?5(DH8&T4UKV20S?S9G<YF:F-%
M)?%.@]G4-=>_%RC4=A[$P?[@OEJ7UAU$V:SA:WQ ^ZVYT[2+>I2BJE&:2DG0
MN)H'%_%TD3I_[_"]PJTYL,$I62KUY#8WQ3Q@CA *S*U#X/1YQDL4P@$1C5\=
M9M"G=(&']A[]VFLG+4MN\%*)'U5ARWDP":# %=\(>Z^V7[#3,W1XN1+&K[#M
M?%D ^<9857?!Q*"N9/OENZX._Q*0= &)Y]TF\BRON.793*LM:.=-:,[P4GTT
MD:ND:\J#U71;49S-OBJ+,(:/<"-S52,\\AV:*3Q0\XN-0%"K_<T2Z1?  [\0
MKL@RMLJ!RP*H2%0"">\?^5*@^3"++/%S6:*\X[)HN22O<(D3N%72E@8^RP*+
MOP$B$M:K2_;J%LE)Q"O,SV 0AY"P)#F!-^BK-?!X@U?P6FG1OCKFF,86(3V.
MX&9L:AJ>XSR@(3*HGS'(WKV)1^S3"7YISR\]A9[]?]N.*3F9Z[@2^(E<&T#7
M/Z#J8[U$W7? +;%;V N'MQ G83H>M@9C*1GG(1O$_0\U">-)"N.0#<>0AA-V
M#H_*<D%^"0M'PW,721&CV!F#<)*R8Y6,#F:D1KWV+X&!7&VD;<>E/^T?FXMV
MQE[<VY?JENMU)0T(7%$H.QL/ ]#M]+<;JQH_<4ME:7Z]6=*#B=HYT/U*T=1U
M&Y>@?X*S/U!+ P04    " "N@GM68#?DW-("  " !P  &0   'AL+W=O<FMS
M:&5E=',O<VAE970U-BYX;6RE5=MNVS ,_17"&X8-:'S/95EBH&F[RT.WH.FV
M9\5F8J.VY$E*T_[]*#EQV\Q-"PP!HAMY> YI49.MD#<J1]1P5Y5<39U<ZWKL
M>2K-L6+*%35R.ED)63%-2[GV5"V19=:I*KW0]P=>Q0KN)!.[-Y?)1&QT67"<
M2U";JF+R?H:EV$Z=P-EO7!7K7)L-+YG4;(T+U#_KN:25UZ)D185<%8*#Q-74
M.0W&L]C86X-?!6[5HSD8)4LA;LSB6S9U?$,(2TRU06 TW.(9EJ4!(AI_=IA.
M&](X/I[OT3];[:1ER12>B?)WD>E\ZHP<R'#%-J6^$MNON-/3-WBI*)7]A^W.
MUG<@W2@MJITS,:@*WHSL;I>'USB$.X?0\FX"69;G3+-D(L46I+$F-#.Q4JTW
MD2NX*<I"2SHMR$\GWX5&&$$/?M0F2VH,"ZI[MBD1Q H6.9/8,ZHS.!,5?0F*
M&;,36&B1WNR=3N#4)+?0]_#^FBU+5!\FGB9V)H:7[IC,&B;A,TR"$"X%U[F"
M"YYA]A3 (UFMMG"O;18>13S'U(4H.('0#\,C>%&;J\CB1<_@-=*\?8)4E\8&
M(>Y&,#=LK&J6XM2A*Z10WJ*3O'L3#/Q/1_C%+;_X&'KR7Y7K$G,T7+>8)K""
MN2Q2A"O&UVC3#U\DXYK(A &\A5'H#GSZZ)KQXJXN)!T)"2GC*=U8,H,H<B-C
M,QRZ?I]L4*:%41,?G%P+S4J@?J,TXUG!U\ T4.FQ6J*D\L-@V.F!#:*IZ:%'
M[!]X=(L*6E$]TM2SORXM$0QC=Q!W: EB" =N/WR]F/YA8EX4$QTFK%N,_U"A
M :EI3!\8_ZN*N(S<?E>%1@^BK.Z7*_2Q,PW'1$5/8W3='N]15ZQ0KFWO5Y"*
M#==-@VQWV^?EM.FJ#^;-VW3)Y+K@"DI<D:OO#OL.R*;?-PLM:MMCET)3Q[;3
MG)Y(E,: SE>"^NQN80*TCV[R%U!+ P04    " "N@GM6L:'BRZX"   ,!@
M&0   'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6RM55%OVC 0_BNG;)TVJ20A
M0&D91*)=I^VA&RI;ISV:Y$(LG#BU'2C_?F<GI)U$T1[V$I_MN^^^[XXSTYU4
M&YTC&G@J1*EG7FY,-0D"G>18,.W+"DNZR:0JF*&M6@>Z4LA2%U2(( K#BZ!@
MO/3BJ3M;J'@J:R-XB0L%NBX*IO;7*.1NYO6]P\$]7^?&'@3QM&)K7*+Y62T4
M[8(.)>4%EIK+$A1F,V_>GUP/K;]S>."XTR]LL$I64F[LYFLZ\T)+" 4FQB(P
M6K9X@T)8(*+QV&)Z74H;^-(^H']VVDG+BFF\D>(73TT^\RX]2#%CM3#W<O<%
M6STCBY=(H=T7=JUOZ$%2:R.+-I@8%+QL5O;4UN%? J(V('*\FT2.Y2=F6#Q5
M<@?*>A.:-9Q4%TWD>&F;LC2*;CG%F?B;- B7T(/OE:V2GL"2^I[6 D%FL,R9
MPIY5G<*"[:D9!N8[IM)S6!J9; Y1Y_# 1,U<G>>:&MP<P_L?;"50?Y@&AKC:
MC$'2\KIN>$6O\.I'<"=+DVNX+5-,_P8(2&2G-#HHO8Y.(G["Q(=!_QRB,(I.
MX VZR@T<WN 5O$9:<"B7/J:Q01@>1[#S-M$52W#FT4!I5%OTXG=O^A?AQQ/\
MAAV_X2GT^#_V\9BTD\F/2X/?R)0&M T%:@<6*U1=2^RG;S\AW#Y5-+3DE/(M
M3\D?6"%KXER1_V/-E*'U+83^(!R%9/3<)KH:#IY#M=-5*9X@;*4@38*;/417
M_N7XC"*BL3\Z@WNN-[U,(0(O"12U <5H(H9^>&6]0G]T<?8,*GCFZBG;W_?(
M'\/>B>J1/6CL8[T+7DQH@6KMWB$-B575#&MWVCUU\V;"G]V;=_*.J36GW (S
M"@W]\<@#U;P]S<;(RLW[2AIZ/9R9TW.-RCK0?29IYMN-3=#] <1_ %!+ P04
M    " "N@GM68SBK^0,#  #]!@  &0   'AL+W=O<FMS:&5E=',O<VAE970U
M."YX;6R]56UOFS 0_BLG-DV;1($  9(ED9*TTR:M;=1LJ_;1@4M !9S9IFGW
MZW<&0M,MS?9IBA3L>WG\/&?[/-IQ<2=31 4/15[*L9$JM1W:MHQ3+)BT^!9+
M\JRY*)BBJ=C8<BN0)752D=NNXP1VP;+2F(QJVT),1KQ2>5;B0H"LBH*)QQGF
M?#<V>L;><)-M4J4-]F2T91M<HOJZ70B:V1U*DA58RHR7(' ]-J:]X<S7\77
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
MTMP.)<T+%#J7 A2N)\[,'\TCZU\[_,AQI]^LP5:RDO+%*K?IQ/$L(>28&(O
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
MS>!0785OY@5E;.NGHH%<M=)VHV,X'0;O13=O7M6[J7W-])831X$EF4;CV20
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
MS(OZ,J\;BA?5??C(%=RNU6,*WS]$Z  87W$PT#3T%=M^445_ 5!+ P04
M" "N@GM6.F&AJ2<%  ! &@  &0   'AL+W=O<FMS:&5E=',O<VAE970W.2YX
M;6R]66M/XS@4_2M1=K0""4C\:-*P;24H["X2,T*P['XVJ6FC2>*.X])A?_TZ
M:4B:^+$E0GR!/,Z]/=>/<VQGLF7\>[&B5#@_LS0OINY*B/6YYQ7QBF:D.&-K
MFLLWSXQG1,A;OO2*-:=D405EJ0=]/_ RDN3N;%(]N^.S"=N(-,GI'7>*3981
M_GI)4[:=NL!]>W"?+%>B?.#-)FNRI ]4/*[ON+SSFBR+)*-YD;#<X?1YZEZ
M\SF"94"%^#NAVV+OVBE+>6+L>WESLYBZ?LF(IC0690HB_[W0.4W3,I/D\:-.
MZC:_60;N7[]E_[TJ7A;S1 HZ9^D_R4*LIN[8=1;TF6Q2<<^V?]*ZH%&9+V9I
M4?UUMC76=YUX4PB6U<&209;DN__D9]T0>P$ &P)@'0 /#4!U *H*W3&KRKHB
M@LPFG&T=7J)EMO*B:ILJ6E:3Y&4W/@@NWR8R3LR^,4$=[)PZ=UP.#2Y>'9(O
MG.L?FV0M.TN<M\_O4I*+[EOGZ=6Y93&I.N3HB@J2I,6Q3/;X<.4<?3EVOCA)
M[ORU8IM"QA433TC&Y>]Z<<WN<L<.&MA=T?C,0>#$@3Z$FO#YX>&@&^[)=FH:
M"S:-!:M\V)#O5E:A*V(7%511Y;QYF8%1A";>RSY5#2B(_ ;4(80:0LA*Z'*3
MI(LD7Q95O]QD:\Y>:-DSQ8GS!V>%MLEW*4?[1%#@@QY=#0J#$.KYXH8OMO+]
M2N*5?,1[H\Q"%JLT0C\8]\AJ4$$0&!IWU) =6<G.65X(OMG)C1S'<B8L.2UL
M33M2>$1^T..J8L;16,\T:)@&5J9O<_1$-TDM= .%"D) :5P="D-#XX8-Y=!*
M^2*.-]DF)8(NG"LJ'2A.*ADY*>]2NI-X6<9%QKA(_JW?]0H]Z5:J*S%4R)]"
M&&'<JU$+&_N&X3YNBAP?U"\53=IV2"[M^2B7REM(Z2W? ?]81WZL#FNI@WWN
M.E0 #$,J:JA'5NJ/9P]G%;4YR<F"Z-A9$Y3+C_-B36(Z=67O%I2_4'?VZR\@
M\'_3"?D')>O4"OS6!/U!PEZ'[;=M /M*^3^@+J4]7P8?+^UUS@Z54=!7("T*
MFQBWY@CL[OA^<:\3=DTF&OE]OCI8X!M&.&C-$]C=<X#  ]46,8!]OG90EVUK
MG<#NG4-%'JCF".$(1WW2.A@8FVBW)@KL+OI90@]47ST%8Q0H=6IQ^Z[7+;3U
M8'"8"0\5>Z#Z+ 9C92YH4#[ !O*M&P.['5_GR[3D5O6$W'5PDB9:T;?G>:_J
M?U2V;M6M/0.[/QME7[74P!_U>T(#"DVCJ+5=8/?=8;(?J4LT'_<W(#H4&AN&
M#FR]$]J]\_VR#S6&J6Z75% X,J@1;%T5VEUU@.1#U2W[DU(#,3'=VVK:W72H
MW$/5+#'"_36+#B5%T$"Z=51H=]3/$GNH.NPID.OZ?I4Z& A,0[ZU8GB8%0^5
M>JAZ+0+*,D*'"HQ3H#5D:#?DF_OKVXMO5UI>ULCWBOM'9>O6V?HQM/NQ\;!&
MLY\-PG[;:T"1884,6Y>%=I<=).Y0W9NB*%(&BXK"$(<&QJU#0KM##A!WS784
MP[YYZE#(-YPIP-8]H=T]A\B[ZHHXZF^Q=2"3<Z+6.9'=.8=*/-)M.,/^L8T.
MA:%!/E#KH,CNH)\E\4CUU%.$<'\OJX7AT'2NVMHO.LQ^ATH\4H][883ZLU:+
M4B3>VSO>+[^M?"5\F>2%D])G&>:?A;)ZOOM<L;L1;%V=^#\Q(5A67:XH65!>
M N3[9R8+J&_*CPC-1Z/9?U!+ P04    " "N@GM67/N*U/T!  #1!   &0
M 'AL+W=O<FMS:&5E=',O<VAE970X,"YX;6RME&]OTS 0QK^*91#:)%;G3UM0
M22*Q5HA)@*J5P6LWO3;6[#C8UV9\>VPGC3JIG?:"-XG/OM^3>VQ?LE:;1UL!
M('E2LK8YK1";&6.VK$!Q.](-U&YEJXWBZ$*S8[8QP#<!4I(E431EBHN:%EF8
M6YHBTWN4HH:E(7:O%#=_;T'J-J<Q/4[<BUV%?H(56<-WL )\:);&16Q0V0@%
MM16Z)@:V.?T<S^:ISP\)OP2T]F1,O).UUH\^N-OD-/(%@802O0)WKP/,04HO
MY,KXTVO2X9,>/!T?U;\$[\[+FEN8:_E;;+#*Z4=*-K#E>XGWNOT*O9^)URNU
MM.%)VBYW/*:DW%O4JH==!4K4W9L_]?MP L27@*0'DM<":0^$G6-=9<'6@B,O
M,J-;8GRV4_.#L#>!=FY$[4]QA<:M"L=A\4,CD FY(=]TO;M!,(HL8(WD:@'(
MA;37;NEAM2!7;Z\SANZ#'F-E+W[;B2<7Q!=0CD@:OR=)E"1G\/GK\?@YSIS-
MP6LR>$V"7GI1+U@ZYZ,#Q^=!WTDSV_ 2<NI:Q8(Y "W>O8FGT:=SKOZ3V#./
MZ> Q?4F]",?X\WB,YZQV_#3POL</192QPVG]+V5T1;&3"^>;_3LW.U%;(F'K
MF&CT84*)Z1JH"U WX0ZN-;H;'8:5^^> \0EN?:O=/>P#?ZV'OUCQ#U!+ P04
M    " "N@GM6Y)B#^[("  "X!@  &0   'AL+W=O<FMS:&5E=',O<VAE970X
M,2YX;6RM5=MNVS ,_17"&X86V&K'N73H$@.YM%B!=C6:=<,>59N)M=J2*\E)
M\_>C9-=+NR08AN4AUH7GD(<FZ>%:J@>=(1IX*G*A1UYF3'GF^SK)L&#Z1)8H
MZ&8A5<$,;=72UZ5"ECI0D?MA$ S\@G'A14-W%JMH*"N3<X&Q ET5!5.;">9R
M/?(ZWO/!+5]FQA[XT;!D2YRCN2MC13N_94EY@4)S*4#A8N2-.V?3OK5W!M\X
MKO76&JR2>RD?[.8R'7F!#0AS3(QE8/18X13SW!)1&(\-I]>ZM,#M]3/[A=-.
M6NZ9QJG,O_/49"/OHP<I+EB5FUNY_HR-'A=@(G/M_F'=V 8>))4VLFC %$'!
M1?UD3TT>M@"=P1Y V #"UX#>'D"W 72=T#HR)VO&#(N&2JY!66MBLPN7&X<F
M-5S8MS@WBFXYX4ST11J$ 7R J2P*;NC]& U,I+07AHLEBH2CAJ,9&L9S?4R6
M=_,9'+T]'OJ&_%L6/VE\36I?X1Y?G1"NB373<"Y23%\2^!1X&WWX'/TD/,@X
MP^0$NIWW$ 9A9T= T[^'AP?"Z;;)[#J^[EX^EZ1=F:F!O=U VZIGNF0)CCSJ
M18UJA5[T[DUG$'S:I>H_D;W0V&LU]@ZQ1U>H-2+<E*B8+1"X0NHBH)Z"F*D'
M=R(-C-.?5+RVG."K;&QBMJGKZQ8?*ZXPA?,5J@U<4"/##V1*PX3L4K@1,,T8
M%1]<TBJ^W)70.LJ!B]*.JE4T. WH-_17VZDZ*.8?4]5O4]4_F*JYH49B*G7]
M=/YDT%8]Q$JF56+@.U.*";.!<9*HBN6[1/;_$/E:WR&+.FA_:S@4J)9N9FI(
M9"5,/2?:TW8LC]TT\G^;US/]FJDE%QIR7! T.#DE[ZJ>D_7&R-*-FGMI:'"Y
M94:?%E36@.X7DL9-L[$.VH]5] M02P,$%     @ KH)[5@1HV5<8 P  V0D
M !D   !X;"]W;W)K<VAE971S+W-H965T.#(N>&ULK59M;]HP&/PK5E9-G42;
MD(1 &42B9-,J=54%[?;9A >PZL3,=H#NU\]VT@B"6]&I7\!V[B[/7?PVV#+^
M)%8 $NTRFHNALY)RW7==D:X@P^*2K2%73Q:,9UBJ+E^Z8LT!SPTIHZ[O>9&;
M89([\<",W?-XP I)20[W'(DBRS!_O@;*MD.G[;P,3,AR)?6 &P_6> E3D(_K
M>ZYZ;JTR)QGD@K <<5@,G5&[GW0UW@!^$=B*O3;23F:,/>G.S7SH>+H@H)!*
MK8#5WP;&0*D64F7\J32=^I6:N-]^4?]NO"LO,RQ@S.AO,I>KH=-ST!P6N*!R
MPK8_H/+3T7HIH\+\HFV%]1R4%D*RK"*K"C*2E_]X5^6P1VB'KQ#\BN"?2@@J
M0G J(:P(H4FFM&)R2+#$\8"S+>(:K=1TPX1IV,H^R?5GGTJNGA+%D_$=DX"Z
MZ +=Y"G+ #W@'8@^FJKI-2\H(+9 "2R <YCK9V@D!$B!<#Y'MP3/""62@$#G
M"4A,J/BBE!ZG"3H_^X+.$,G1PXH50J'%P)6J7/U2-ZU*NRY+\U\I+8'T$@7M
M%O(]W[?0QZ?3VQ9Z<CK=.Z2[*N,Z:+\.VC=ZP:MZ)B!;#"4QM!/UNN^+-4YA
MZ*B%+8!OP(D_?VI'WE=;*!\IEGR0V$%@01U8\)9Z;)EV+35+-Y!+QI]M.99Z
MD='3V]TF;GO!P-WLQW.,Z?4.(8D%$M60 RMA;25\IY66:=;CWW9J&Q?00I,R
M1K.^1FG*"TQ;NL&*7*VZ":1 -GA&%7)$U8Z-\Q20VOO16*D0B6Z9L,ZPLKS.
MGJ7@JA&,!=)N!&.!^/9@.G4PG?=_XS>3$?O1B%;9@H/-R!9 YZCT*Z\1P#&D
MTYP9QY"H9P\@J@.(3@]@?T--0"VIE.#R<-26,\8E^6L&; ZCH]HN?/^JTS!I
M0_4ZC;F06%"!%X1VJ]W::O>_K+;0'4B;H^[1.KSPO:BYH&VHJ.<W'-E0O;#Y
M\=R]<U1?>GYBOB2Y0!06BN===E4DO+Q(E!W)UN9HG3&I#FK37*F[%W -4,\7
M3!VO54>?UO5M+OX'4$L#!!0    ( *Z">U9P["-XV (  %H(   9    >&PO
M=V]R:W-H965T<R]S:&5E=#@S+GAM;*U676^;,!3]*Q:KIE1:"QA"VRQ!:D*G
M]:%3U+3;LPN7@ HVLTV2_?O9AM)\D*@/?0G^N.?XGF/KWHS7C+^*#$"B35E0
M,;$R*:N1;8LX@Y*(2U8!53LIXR61:LJ7MJ@XD,2 RL+&CA/8)<FI%8[-VIR'
M8U;+(J<PYTC494GXORD4;#VQ7.MMX3%?9E(OV.&X(DM8@'RNYES-[(XER4N@
M(F<4<4@GUJT[B@(=;P)^Y[ 66V.DE;PP]JHG]\G$<G1"4$ L-0-1GQ7,H"@T
MD4KC;\MI=4=JX/;XC?V'T:ZTO! !,U;\R1.93:QK"R60DKJ0CVS]$UH]0\T7
MLT*87[1N8QT+Q;60K&S!*H,RI\V7;%H?M@!N< 2 6P#>!_A' %X+\#X*\%N
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
MPQCO12!T #Y?<>R5Y41O4-VT@K]02P,$%     @ KH)[5IBQTM;"!   (AL
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
M6-ZVJW8B66T*^#V3JAV88:$Z/' -4/L+IHIX-]$']/\9DG]02P,$%     @
MKH)[5MP38._K @  9@D  !D   !X;"]W;W)K<VAE971S+W-H965T.3$N>&UL
MK99K;]HP%(;_BI554R>MS9T @TB4[%*IVZJR;I_=Y$"B.C&S#;3_?K:31C0Q
M$TC] K;SOB?G.3Z),]E1]LAS (&>2E+QJ94+L1[;-D]S*#&_I&NHY)4E9246
M<LI6-E\SP)DVE<3V'&=@E[BHK'BBUVY9/*$;08H*;AGBF[+$[/D*"-U-+==Z
M6;@K5KE0"W8\6>,5+$#<KV^9G-EME*PHH>(%K1"#Y=2:N>,D4GHM^%W CN^-
MD2)YH/113:ZSJ>6HA(! *E0$+/^V, ="5""9QM\FIM7>4AGWQR_1OVAVR?*
M.<PI^5-D(I]:0PMEL,0;(N[H[ALT/*&*EU+"]2_:-5K'0NF&"UHV9IE!653U
M/WYJZK!G<(,#!J\Q>,<:_,;@'VL(&D.@*U.CZ#HD6.!XPN@.,:66T=1 %U.[
M)7Y1J6U?"":O%M(GXA]4 '(==(&^ ETQO,Z+%-W0:G5Q(_<C0S/.07!T7=4=
M)K=JC!:R][(- ?1S:9!>/>^'FLE>1.<)"%P0_D'>YGZ1H/.S#^@,%17ZE=,-
MQU7&)[:0,"HE.VT2OZH3]PXDGD!ZB7SW(_(<SS/8Y\?;78,].=[NO+;;<@?:
M;?#:;?!T//]@/%T@4QEJ8V VJK?"F*]Q"E-+/O8<V!:L^/T[=^!\,A7E+8,E
M;Q3L5<'\MF#^_Z+'NN^([CM<]YUL)Y$#NJ\*(1<7 @LPUK...]!QU4MQ&[O!
M, HG]G:_4 ;5R'6"UZJDK_)\WXM:U2NTH$4+3D?[7*V(?%!,0'6T<#_5T!UV
M4IT;5"/?'W6 ^BK/'4:N&2AL@<+3@:X9' (*^TF,PBZ/231R.CA]D>]&OIEF
MT-(,3J>9R3<UPZ3 )IY!/PL_ZN 8-".O0]/7!(%CAHE:F.ATF#FN<&8DB7K]
M'H[\#DE?,P@[FL2@B;P.B;UWJ*DOD.^8K8J*(P)+Z7(N(UD(5I_J]430M3[G
M'JB0IZ8>YO)#")@2R.M+*L^Z9J*.SO;3*OX'4$L#!!0    ( *Z">U;Y6/1"
M(P8  .<[   9    >&PO=V]R:W-H965T<R]S:&5E=#DR+GAM;+7;?W.B1AP&
M\+>R8V\Z=S/7@T4!38TS2?"W('/IM7\3W2A39"U@<IGIB^^": 17BKVG_R2*
MW^<CZ\K7383N*X_^C->,)>3[)@CCV\8Z2;8WBA(OUFSCQ5_XEH7BD6<>;;Q$
MW(U62KR-F+?,0IM T5354#:>'S9ZW6R;&_6Z?)<$?LC<B,2[S<:+WNY9P%]O
M&[1QV/#57ZV3=(/2ZVZ]%7MDR;>M&XE[RE%9^AL6QCX/2<2>;QMW],:ES320
M5?SNL]?XY#9)A_+$^9_IG?'RMJ&F>\0"MDA2PA._7M@#"X)4$OOQ5XXVCL^9
M!D]O'_1!-G@QF"<O9@\\^,-?)NO;1KM!ENS9VP7)5_XZ8OF ]-1;\"#.?I+7
MO%9MD,4N3O@F#XL]V/CA_K?W/7\A3@+"D0>T/*"5 ZT+@68>:-8-M/) JVY
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
M8B,D-D9B$R0V16(S)#9'8C82<Y#8 HFY(*Q4U3I%5>O@^ZA:\MPRA\0L)#9
M8D,D-D)B8R0V06)3)#9#8G,D9B,QIW/2^Y@=L])%G<9TM&H/=1K3U4UY!]4M
M:DVW00<U>@G9D@=\_=(>I/\-CGB\C]8L>FG?1]EN6<6IA<^M.$C,0F(#)#9$
M8B,D-D9B$R0V16(S)#9'8C82<Y#8 HFY(*Q4['I%L>OA&ZM:\MPRA\0L)#9
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
M9'7-51TMUO:F6 B-]XYMYOAG -($X'@F< ?4'7/Y-/\:R1]02P,$%     @
MKH)[5I=/(;D1 P  H H  !D   !X;"]W;W)K<VAE971S+W-H965T.3@N>&UL
MM99M;]HP$,>_RBFKIE:BY(%G!I':LFJ3VA71=M5>FN0@5I.8V0Z4;S\[25,V
M3#9I]$W\^+_[G1W;-]HP_BPB1 DO29R*L15)N1K:M@@B3(AHLA6F:F3!>$*D
M:O*E+58<29B+DMCV'*=K)X2FEC_*^Z;<'[%,QC3%*0>1)0GAVTN,V69LN=9K
MQXPN(ZD[;'^T(DN\1_FXFG+5LBLK(4TP%92EP'$QMB[<X:7;TH)\QG>*&[%3
M!QW*G+%GW?@:CBU'$V&,@=0FB"K6>(5QK"TICI^E4:ORJ86[]5?KUWGP*I@Y
M$7C%XB<:RFAL]2T(<4&R6,[8Y@N6 76TO8#%(O_"IISK6!!D0K*D%"N"A*9%
M25[*A=@1>)T# J\4>#EWX2BGG!!)_!%G&^!ZMK*F*WFHN5K!T53ORKWD:I0J
MG?2_,8G@MN$<;E %)X:J% *Q 7<KY$32=%F,-."&DCF-J=PVX);(C*L:G$Y0
M$AJ+,S@!FL)#Q#)!TE",;*G@M L[*$$N"Q#O ,@$@R:TW 9XCN?!X_T$3D_.
M?C=CJ]BJ +TJ0"^WVSIH-P<T 17"MEFHC\-0K$B 8TO][P+Y&BW_XP>WZWRJ
MP6I56*TZZ_Z_K+)D,$>8$AHVX <2#G<IFN(H/'5S3_H4KOU.>V2O#73MBJY]
M?+J'#3/1%9XZ.W3MKIFN4]%UWH$NXFA<O<X^GVOFZU9\W>/S7;.,F_"Z^WB>
M&:]7X?7> 4_=G2:\WCY>RXS7K_#Z1\4C"XF\'K*_!^EV!V;*044Y."*E"6JP
MOW*'=M9UWFYSY[^Q'M.0BH!EJ<00/K\$2@(7B6X;;VUGC_.\W3O N?/JN+6<
MA_F,#.[>#=<:= XPO#T,;NT%O\_PE#_A:E$NUFIDB3!#G==4,^ !>6+DJW?4
MAZWZ.P5XD+!41@)<#T*R%37/B/OVCKCU#\G?HYB4NPTS(M7X%'F !_:Z<*6W
MO%IHI^FT_CS1]DZ^H7.W6\*7-!40XT+IG&9/_2V\2(>*AF2K/ 69,ZD2FKP:
MJ102N9Z@QA=,I2%E0V<U55+J_P)02P,$%     @ KH)[5NJP&YJP @  ,P8
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
MXZ%@!<C1?+Z NU%5#* QJK2#G-.YDM1IV$0T TL[8T+<PF/UO=CC7A4[=>M
MU60[M(*:H:?Q!O#OLGGN7=K>BWBCBC\H\VEIER.=#;W&;C0K^,K9JZ(5@+%W
M<79:56+]4?"Y+)E?_+,3CH=T$Q<ME.:_;#9HE9EU,$VB!Z8-G^UZ?FI:W;&5
MV;33JL U]UZAYK^[SW,FF:9B5[3M_6/>Y1<K3B[_E63W7^50<%!C\ZX\=I']
MUR R?0TB7T5/#HY?9)(=I<:X>7_O'!+VC@BM-X*CV(A\@X.=V":-IDLN#)>-
MM>!YSN2CDX*E-W1JC_5[_'9^S@JZ%.:N!4=D._[*<KXLLW;6#6Q$,VL[_@++
MZZ;M.=#FXC)G*Y9/&E//IVX8V8'-VEP0<(A<NRN,8#$>"R. 87DP!5B,C\+R
M_$_K&:#K\1BF;1!$!FC, (WQ42%DXCY8GG!,9J_P2K,L2=(4V]'))*A@@NU;
MFL(WS(9I@P@L#V3ZL[W&JXUWR--]@-7TJ0[!5HIW(K92?*\!">\;1&19N-I8
M'HC JH#U#N0/YX&>"L<D"505TX8]P3B291@"O1CNT31%=B>%3[@^V%.2)%D6
M1@ +*T@2#(&G$4<P!: !0Y+$O0</WD?QYCT5;W_K&O\&4$L#!!0    ( *Z"
M>U:7BKL<P    !,"   +    7W)E;',O+G)E;'.=DKENPS ,0'_%T)XP!] A
MB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI&/T04FE:
MU;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17B%S7G:4]
MVR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)T:$B6!::
M1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L?@!02P,$
M%     @ KH)[5CY 8<%\!@  @D(   \   !X;"]W;W)K8F]O:RYX;6S%G%MO
MVS@01O\*X:==H*TMZEXT!5(GVQK()MDX[:M!R[1-5!=7EZ3IKU]21IKAMASL
MBX=/B25%/J9%'LY'*>\>F_;KNFF^LN]567=GDWW?']Y.IUVQEY7HWC0'6>L]
MVZ:M1*]?MKMI=VBEV'1[*?NJG/+9+)E60M63]^^>SW7;3N&+II=%KYI:;S0;
MOBCYV+WL-R_9@^K46I6J?SJ;C+^7<L(J5:M*_9";L\ELPKI]\_BI:=6/INY%
MN2S:IBS/)L%QQQ?9]JKX9?/20-Z+=3=NZ<7Z3FB0LTDRTR?<JK;KQR/&\PO-
M^"#UP<=70]_\I<I>MA>BEQ_;9CBH>F=.HS_%%'R,L1V>?QX;\6W[?YJQV6Y5
M(2^:8JADW1_;L96E :R[O3IT$U:+2IY-G@]AHMZPR[K7C<06]?%4^ECS2?5;
M+S;'3]UK7-"&[5NE=[2+S0A^.LC/]^>?V-^7%XOY^16[O;NY^#R_7[YBB^OY
M&S:_N0:0'('D'B%7'$"&"&3H$S($D!$"&?F$C !DC$#&/B%C )D@D(E/R 1
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
MK 39Y8.<!+GE@[P$^>6#@@2%Y8.B!,7E@Y($I>6#L@3EY8.*!)7E@TRC,C:
MI!G6 *V-<FT 7AL%VP#$-DJV 9AM%&T#4-LHVP;@ME&X#4!NHW0;@-U&\38
MO:WJ;0%Z6]7; O2VLS_; +VMZFT!>EO5VP+TMJJW!>AM56\+T-NJWA:@MU6]
M+4!OJWI;@-Y.]78 O9WJ[0!Z.]7; ?1VLX<E +V=ZNT >CO5VP'T=JJW ^CM
M5&\'T-NIW@Z@MU.]'4!OKWI[@-Y>]?8 O;WJ[0%Z>]7; _3VLX?= +V]ZNT!
M>GO5VP/T]JJW!^CM56\/T-NKWAZ@=U"] T#OH'H'@-Y!]0X O8/J'0!Z!]4[
M /0.LY>5 +V#ZAT >@?5.P#T#JIW .@=5.\ T#NJWA&@=U2](T#OJ'I'@-Y1
M]8X O:/J'0%Z1]4[ O2.L\TF +VCZAT!>D?5.P+TCJIW!.B=5.\$T#NIW@F@
M=U*]$T#OI'HG@-Y)]4X O9/JG0!Z)]4[ ?1.L\V" +V3ZIT >B?5.P'TSJIW
M!NB=5>\,T#NKWAF@=U:],T#OK'IG@-Y9]<X O;/JG0%Z9]4[ _3.L\W> +VS
MZIT!>A?5NP#T+JIW >A=5.\"T+NHW@6@=U&]"T#OHGH7@-Y%]2X O8OJ70!Z
M%]6[ /0NL\,Z +U-,S^N\YU^C]/GH1MO15_K6<!W:CU=[NUNOW]=?EV<'1%J
MKD#7]QGCTU]02P,$%     @ KH)[5H6?)TI8 @  PS@  !,   !;0V]N=&5N
M=%]4>7!E<UTN>&ULS=O+;MLP$(7A5S&T#2Q9)$5219Q-VVV;15] E>A8L&X0
MF=1Y^]+*!6B1&@U<H/_&@DURSH@#?#M??WN<G%\=^V[PVV0?PO0ARWR]=WWE
MTW%R0US9C7-?A?AUOLNFJCY4=RX3FXW.ZG$(;@CK<*J1W%Q_<KOJO@NKS\?X
MLV_'89O,KO/)ZN/3QE/6-JFFJ6OK*L3U[&%H?DM9/R>D\>2RQ^_;R5_%#4GV
M9L)IY<\!S^>^/KAY;ANWNJWF\*7JXZ[LV&4^/';.I^=+O-'CN-NUM6O&^KZ/
M1U(_S:YJ_-ZYT'?I4]&K\\DAWK![^LPOSE_*G N,.V_G<?)Q8K-[?]S+2$ZG
MUU,LY.;0GG_%U\18^N+W<Z=I-Z[YR^QXO3_&^;#,PV?+X_([_G7&K_7?V8>
M]"$A?2A('P6D#PWIPT#ZL) ^2D@?^8;2"$74G$)J3C$UIZ":4U3-*:SF%%=S
M"JPY159!D5509!44605%5D&155!D%119!45609%54&25%%DE159)D5529)44
M625%5DF155)DE119)45619%54615%%D5159%D5519%44615%5D6155%D+2BR
M%A19"XJL!476@B)K09&UH,A:4&0M*+(6%%DU159-D5539-44635%5DV155-D
MU119-45639'54&0U%%D-159#D=509#4460U%5D.1U5!D-119+4562Y'54F2U
M%%DM159+D=529+4462U%5DN1M:3(6E)D+2FREA192XJL)476DB)K29&UI,A:
M4F3--_^3UN_C>/C'\<LS[:MV>,G/EO\NWOP$4$L! A0#%     @ KH)[5@=!
M36*!    L0   !               ( !     &1O8U!R;W!S+V%P<"YX;6Q0
M2P$"% ,4    " "N@GM6+WJ%?.T    K @  $0              @ &O
M9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " "N@GM6F5R<(Q &  "<)P
M$P              @ '+ 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0
M   ( *Z">U;R%JZ>) @  -4S   8              " @0P(  !X;"]W;W)K
M<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " "N@GM63%I<[5\&  "<&@
M&               @(%F$   >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L!
M A0#%     @ KH)[5KZ>WGB< @  9@<  !@              ("!^Q8  'AL
M+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    ( *Z">U8;?YQ;8@4
M #,5   8              " @<T9  !X;"]W;W)K<VAE971S+W-H965T-"YX
M;6Q02P$"% ,4    " "N@GM60]F+J)X"  #X!@  &               @(%E
M'P  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#%     @ KH)[5L=D
M/KNR!P  WC4  !@              ("!.2(  'AL+W=O<FMS:&5E=',O<VAE
M970V+GAM;%!+ 0(4 Q0    ( *Z">U;]U;IG;P<  ,@A   8
M  " @2$J  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q02P$"% ,4    " "N
M@GM60+#(%C 4  #!-0  &               @('&,0  >&PO=V]R:W-H965T
M<R]S:&5E=#@N>&UL4$L! A0#%     @ KH)[5@GONL,^ P  ]P8  !@
M         ("!+$8  'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0
M   ( *Z">U83>445+0,  "D(   9              " @:!)  !X;"]W;W)K
M<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @ KH)[5KSQS=<6!   $PH
M !D              ("!!$T  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q0
M2P$"% ,4    " "N@GM6)[- +@8"  "V!   &0              @(%140
M>&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    ( *Z">U8IT]MD
M908  ,@.   9              " @8Y3  !X;"]W;W)K<VAE971S+W-H965T
M,3,N>&UL4$L! A0#%     @ KH)[5D%-SH-3!   MPD  !D
M ("!*EH  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    " "N
M@GM6!028<CD(  #9%   &0              @(&T7@  >&PO=V]R:W-H965T
M<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( *Z">U8D J<6?@(  (P%   9
M          " @21G  !X;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#
M%     @ KH)[5NE,RLF? @  Y 4  !D              ("!V6D  'AL+W=O
M<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " "N@GM6_$J!G2@#  !&
M!P  &0              @(&O;   >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM
M;%!+ 0(4 Q0    ( *Z">U;^[XN@40,  'H'   9              " @0YP
M  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#%     @ KH)[5MHK
MAAS) @  -@8  !D              ("!EG,  'AL+W=O<FMS:&5E=',O<VAE
M970R,"YX;6Q02P$"% ,4    " "N@GM6Q@& 'J4$   U"P  &0
M    @(&6=@  >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    (
M *Z">U9T?XQG< ,  +P'   9              " @7)[  !X;"]W;W)K<VAE
M971S+W-H965T,C(N>&UL4$L! A0#%     @ KH)[5@4W/[-, P  J0<  !D
M             ("!&7\  'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"
M% ,4    " "N@GM6C!3IQ8("  "Y!0  &0              @(&<@@  >&PO
M=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    ( *Z">U:+J8G\<@(
M ,P%   9              " @56%  !X;"]W;W)K<VAE971S+W-H965T,C4N
M>&UL4$L! A0#%     @ KH)[5F>KY\I( P  R <  !D              ("!
M_H<  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"% ,4    " "N@GM6
M^[V<)W0"  "I!0  &0              @(%]BP  >&PO=V]R:W-H965T<R]S
M:&5E=#(W+GAM;%!+ 0(4 Q0    ( *Z">U;$VY/#@P(  *\%   9
M      " @2B.  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%
M  @ KH)[5J;_'X49!   00D  !D              ("!XI   'AL+W=O<FMS
M:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " "N@GM6ORM 2#T#  !>!P
M&0              @($RE0  >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+
M 0(4 Q0    ( *Z">U89[\P9W (  #8&   9              " @::8  !X
M;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%     @ KH)[5H):=2^6
M @  S 4  !D              ("!N9L  'AL+W=O<FMS:&5E=',O<VAE970S
M,BYX;6Q02P$"% ,4    " "N@GM6/O<U,(P#  #8!P  &0
M@(&&G@  >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( *Z"
M>U8TOL[BB@0  )D)   9              " @4FB  !X;"]W;W)K<VAE971S
M+W-H965T,S0N>&UL4$L! A0#%     @ KH)[5IQF(3CL @  K@8  !D
M         ("!"J<  'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4
M    " "N@GM6/-SS*7P$   Z"@  &0              @($MJ@  >&PO=V]R
M:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( *Z">U;I>C!7_P,  "8)
M   9              " @>"N  !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL
M4$L! A0#%     @ KH)[5I=2":/0 @  (P8  !D              ("!%K,
M 'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4    " "N@GM63+PU
M&$8#   +"   &0              @($=M@  >&PO=V]R:W-H965T<R]S:&5E
M=#,Y+GAM;%!+ 0(4 Q0    ( *Z">U:62?ODL (  #T&   9
M  " @9JY  !X;"]W;W)K<VAE971S+W-H965T-# N>&UL4$L! A0#%     @
MKH)[5G(-+++3 P  \@@  !D              ("!@;P  'AL+W=O<FMS:&5E
M=',O<VAE970T,2YX;6Q02P$"% ,4    " "N@GM6"C=]W(T"  "X!0  &0
M            @(&+P   >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4
M Q0    ( *Z">U;+;=_LE0(  /D%   9              " @4_#  !X;"]W
M;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @ KH)[5J)[L0): @
M;04  !D              ("!&\8  'AL+W=O<FMS:&5E=',O<VAE970T-"YX
M;6Q02P$"% ,4    " "N@GM6ZBNP%5 "   =!0  &0              @(&L
MR   >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    ( *Z">U8(
M$\'^1P(  !<%   9              " @3/+  !X;"]W;W)K<VAE971S+W-H
M965T-#8N>&UL4$L! A0#%     @ KH)[5G:SL["= @  IP4  !D
M     ("!L<T  'AL+W=O<FMS:&5E=',O<VAE970T-RYX;6Q02P$"% ,4
M" "N@GM6!'H&%4X"   >!0  &0              @(&%T   >&PO=V]R:W-H
M965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( *Z">U;9CO_E0 ,   \(   9
M              " @0K3  !X;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L!
M A0#%     @ KH)[5J#L=>:P @  Y 4  !D              ("!@=8  'AL
M+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4    " "N@GM6*Q8\@GD#
M   -"   &0              @(%HV0  >&PO=V]R:W-H965T<R]S:&5E=#4Q
M+GAM;%!+ 0(4 Q0    ( *Z">U:K2,H'Q (  !0&   9              "
M@1C=  !X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L! A0#%     @ KH)[
M5D[J/L!K @  ?P4  !D              ("!$^   'AL+W=O<FMS:&5E=',O
M<VAE970U,RYX;6Q02P$"% ,4    " "N@GM64A3]*P@#  "=!@  &0
M        @(&UX@  >&PO=V]R:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0
M   ( *Z">U8LGZKO:P(  (X%   9              " @?3E  !X;"]W;W)K
M<VAE971S+W-H965T-34N>&UL4$L! A0#%     @ KH)[5F WY-S2 @  @ <
M !D              ("!EN@  'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6Q0
M2P$"% ,4    " "N@GM6L:'BRZX"   ,!@  &0              @(&?ZP
M>&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4 Q0    ( *Z">U9C.*OY
M P,  /T&   9              " @83N  !X;"]W;W)K<VAE971S+W-H965T
M-3@N>&UL4$L! A0#%     @ KH)[5E [@8Q< @  3 4  !D
M ("!OO$  'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6Q02P$"% ,4    " "N
M@GM6^ATQ&XH"  "J!0  &0              @(%1]   >&PO=V]R:W-H965T
M<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( *Z">U9$8P!7P@(   0&   9
M          " @1+W  !X;"]W;W)K<VAE971S+W-H965T-C$N>&UL4$L! A0#
M%     @ KH)[5J,R:"C5 @  '@8  !D              ("!"_H  'AL+W=O
M<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4    " "N@GM6IC6^F'H"  #1
M!0  &0              @($7_0  >&PO=V]R:W-H965T<R]S:&5E=#8S+GAM
M;%!+ 0(4 Q0    ( *Z">U:P35\9\ (  + &   9              " @<C_
M  !X;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L! A0#%     @ KH)[5C3S
M16GF @  F@8  !D              ("![P(! 'AL+W=O<FMS:&5E=',O<VAE
M970V-2YX;6Q02P$"% ,4    " "N@GM65&J^4Z("  #\"   &0
M    @($,!@$ >&PO=V]R:W-H965T<R]S:&5E=#8V+GAM;%!+ 0(4 Q0    (
M *Z">U9<P-%PU ,  &41   9              " @>4( 0!X;"]W;W)K<VAE
M971S+W-H965T-C<N>&UL4$L! A0#%     @ KH)[5F2(AF.. @  N@8  !D
M             ("!\ P! 'AL+W=O<FMS:&5E=',O<VAE970V."YX;6Q02P$"
M% ,4    " "N@GM6ML.-EE4"  #L!   &0              @(&U#P$ >&PO
M=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0    ( *Z">U;>66"Q-P(
M !P%   9              " @4$2 0!X;"]W;W)K<VAE971S+W-H965T-S N
M>&UL4$L! A0#%     @ KH)[5NAO::W> @  RP@  !D              ("!
MKQ0! 'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q02P$"% ,4    " "N@GM6
M=:[:R:\"  "&!P  &0              @('$%P$ >&PO=V]R:W-H965T<R]S
M:&5E=#<R+GAM;%!+ 0(4 Q0    ( *Z">U:;Z-<)K0(  #<'   9
M      " @:H: 0!X;"]W;W)K<VAE971S+W-H965T-S,N>&UL4$L! A0#%
M  @ KH)[5OH25B7E @  R <  !D              ("!CAT! 'AL+W=O<FMS
M:&5E=',O<VAE970W-"YX;6Q02P$"% ,4    " "N@GM61*3+V]$#  #&#
M&0              @(&J( $ >&PO=V]R:W-H965T<R]S:&5E=#<U+GAM;%!+
M 0(4 Q0    ( *Z">U9K2SJ4Q (  ,4'   9              " @;(D 0!X
M;"]W;W)K<VAE971S+W-H965T-S8N>&UL4$L! A0#%     @ KH)[5G6+B P0
M!0  8AD  !D              ("!K2<! 'AL+W=O<FMS:&5E=',O<VAE970W
M-RYX;6Q02P$"% ,4    " "N@GM6"8%UZQ0#  !="0  &0
M@('T+ $ >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM;%!+ 0(4 Q0    ( *Z"
M>U8Z8:&I)P4  $ :   9              " @3\P 0!X;"]W;W)K<VAE971S
M+W-H965T-SDN>&UL4$L! A0#%     @ KH)[5ES[BM3] 0  T00  !D
M         ("!G34! 'AL+W=O<FMS:&5E=',O<VAE970X,"YX;6Q02P$"% ,4
M    " "N@GM6Y)B#^[("  "X!@  &0              @('1-P$ >&PO=V]R
M:W-H965T<R]S:&5E=#@Q+GAM;%!+ 0(4 Q0    ( *Z">U8$:-E7& ,  -D)
M   9              " @;HZ 0!X;"]W;W)K<VAE971S+W-H965T.#(N>&UL
M4$L! A0#%     @ KH)[5G#L(WC8 @  6@@  !D              ("!"3X!
M 'AL+W=O<FMS:&5E=',O<VAE970X,RYX;6Q02P$"% ,4    " "N@GM6UV@9
MLQH$  "J#@  &0              @($800$ >&PO=V]R:W-H965T<R]S:&5E
M=#@T+GAM;%!+ 0(4 Q0    ( *Z">U9K[G-F\0(  +4(   9
M  " @6E% 0!X;"]W;W)K<VAE971S+W-H965T.#4N>&UL4$L! A0#%     @
MKH)[5H-M4]F=!   AQ4  !D              ("!D4@! 'AL+W=O<FMS:&5E
M=',O<VAE970X-BYX;6Q02P$"% ,4    " "N@GM6!0@ABA $  #$$   &0
M            @(%E30$ >&PO=V]R:W-H965T<R]S:&5E=#@W+GAM;%!+ 0(4
M Q0    ( *Z">U8AO\.'" ,  '4)   9              " @:Q1 0!X;"]W
M;W)K<VAE971S+W-H965T.#@N>&UL4$L! A0#%     @ KH)[5IBQTM;"!
M(AL  !D              ("!ZU0! 'AL+W=O<FMS:&5E=',O<VAE970X.2YX
M;6Q02P$"% ,4    " "N@GM6"=I8&L@"   _"   &0              @('D
M60$ >&PO=V]R:W-H965T<R]S:&5E=#DP+GAM;%!+ 0(4 Q0    ( *Z">U;<
M$V#OZP(  &8)   9              " @>-< 0!X;"]W;W)K<VAE971S+W-H
M965T.3$N>&UL4$L! A0#%     @ KH)[5OE8]$(C!@  YSL  !D
M     ("!!6 ! 'AL+W=O<FMS:&5E=',O<VAE970Y,BYX;6Q02P$"% ,4
M" "N@GM6+?O20BX&  #..P  &0              @(%?9@$ >&PO=V]R:W-H
M965T<R]S:&5E=#DS+GAM;%!+ 0(4 Q0    ( *Z">U:&4'-(F0(  *$'   9
M              " @<1L 0!X;"]W;W)K<VAE971S+W-H965T.30N>&UL4$L!
M A0#%     @ KH)[5JWBG"E] @  J@8  !D              ("!E&\! 'AL
M+W=O<FMS:&5E=',O<VAE970Y-2YX;6Q02P$"% ,4    " "N@GM6<4FG)RH#
M  !G#   &0              @(%(<@$ >&PO=V]R:W-H965T<R]S:&5E=#DV
M+GAM;%!+ 0(4 Q0    ( *Z">U8K/QVRR0(  '<(   9              "
M@:EU 0!X;"]W;W)K<VAE971S+W-H965T.3<N>&UL4$L! A0#%     @ KH)[
M5I=/(;D1 P  H H  !D              ("!J7@! 'AL+W=O<FMS:&5E=',O
M<VAE970Y."YX;6Q02P$"% ,4    " "N@GM6ZK ;FK "   S!@  &0
M        @('Q>P$ >&PO=V]R:W-H965T<R]S:&5E=#DY+GAM;%!+ 0(4 Q0
M   ( *Z">U8H03_ 704   4F   :              " @=A^ 0!X;"]W;W)K
M<VAE971S+W-H965T,3 P+GAM;%!+ 0(4 Q0    ( *Z">U9:K2D.+0,  /@2
M   -              "  6V$ 0!X;"]S='EL97,N>&UL4$L! A0#%     @
MKH)[5I>*NQS     $P(   L              ( !Q8<! %]R96QS+RYR96QS
M4$L! A0#%     @ KH)[5CY 8<%\!@  @D(   \              ( !KH@!
M 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( *Z">U;#*Q\]U@(  ,<Z   :
M              "  5>/ 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+
M 0(4 Q0    ( *Z">U:%GR=*6 (  ,,X   3              "  662 0!;
H0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@    !L &P K!T  .Z4 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<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>120
<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>121
<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>101</ContextCount>
  <ElementCount>303</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>21</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="utmd-20221231.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.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>000020 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>000030 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>000040 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>000050 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>000060 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>000070 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000080 - Disclosure - Note 1 - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000090 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000100 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited</Role>
      <ShortName>Note 3 - Quarterly Results of Operations (Unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>000110 - Disclosure - Note 4 - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipment</Role>
      <ShortName>Note 4 - Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>000120 - Disclosure - Note 5 - Long-term Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebt</Role>
      <ShortName>Note 5 - Long-term Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>000130 - Disclosure - Note 6 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingencies</Role>
      <ShortName>Note 6 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>000140 - Disclosure - Note 7 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxes</Role>
      <ShortName>Note 7 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>000150 - Disclosure - Note 8 - Options</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote8Options</Role>
      <ShortName>Note 8 - Options</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>000160 - Disclosure - Note 9 - Geographic Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformation</Role>
      <ShortName>Note 9 - Geographic Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>000170 - Disclosure - Note 10 - Geographic Long-Lived Assets Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation</Role>
      <ShortName>Note 10 - Geographic Long-Lived Assets Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>000180 - Disclosure - Note 11 - Revenues By Product Category And Region</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>000190 - Disclosure - Note 12 - Product Sale and Purchase Commitments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments</Role>
      <ShortName>Note 12 - Product Sale and Purchase Commitments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>000200 - Disclosure - Note 13 - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlans</Role>
      <ShortName>Note 13 - Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>000210 - Disclosure - Note 14 - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote14Leases</Role>
      <ShortName>Note 14 - Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>000220 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure</Role>
      <ShortName>Note 15 - CSI Distribution Agreement Purchase Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>000230 - Disclosure - Note 16 - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShare</Role>
      <ShortName>Note 16 - Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>000240 - Disclosure - Note 17 - Recent Accounting Pronouncements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncements</Role>
      <ShortName>Note 17 - Recent Accounting Pronouncements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>000250 - Disclosure - Note 18 - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote18SubsequentEvents</Role>
      <ShortName>Note 18 - Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>000260 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>000270 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>000280 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>000290 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>000300 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>000310 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>000320 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>000330 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>000340 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>000350 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>000360 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>000370 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>000380 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>000390 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>000400 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>000410 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>000420 - Disclosure - Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies</Role>
      <ShortName>Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>000430 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>000440 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>000450 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>000460 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>000470 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>000480 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>000490 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables</Role>
      <ShortName>Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>000500 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables</Role>
      <ShortName>Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>000510 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables</Role>
      <ShortName>Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>000520 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>000530 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>000540 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>000550 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>000560 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>000570 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>000580 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>000590 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables</Role>
      <ShortName>Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>000600 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables</Role>
      <ShortName>Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>000610 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>000620 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>000630 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables</Role>
      <ShortName>Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>000640 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables</Role>
      <ShortName>Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>000650 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables</Role>
      <ShortName>Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>000660 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>000670 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>000680 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>000690 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>000700 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>000710 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>000720 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>000730 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>000740 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>000750 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>000760 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>000770 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails</Role>
      <ShortName>Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>000780 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails</Role>
      <ShortName>Note 4 - Property and Equipment: Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>000790 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails</Role>
      <ShortName>Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>000800 - Disclosure - Note 5 - Long-term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebtDetails</Role>
      <ShortName>Note 5 - Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebt</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>000810 - Disclosure - Note 6 - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails</Role>
      <ShortName>Note 6 - Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingencies</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>000820 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>000830 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables</ParentRole>
      <Position>83</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>000840 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</ParentRole>
      <Position>84</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>000850 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>000860 - Disclosure - Note 8 - Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails</Role>
      <ShortName>Note 8 - Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>000870 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables</ParentRole>
      <Position>87</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>000880 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>000890 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>000900 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails</Role>
      <ShortName>Note 9 - Geographic Information: Schedule Of Geographic Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables</ParentRole>
      <Position>90</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>000910 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails</Role>
      <ShortName>Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables</ParentRole>
      <Position>91</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>000920 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables</ParentRole>
      <Position>92</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>000930 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>000940 - Disclosure - Note 12 - Product Sale and Purchase Commitments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails</Role>
      <ShortName>Note 12 - Product Sale and Purchase Commitments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>000950 - Disclosure - Note 13 - Employee Benefit Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails</Role>
      <ShortName>Note 13 - Employee Benefit Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlans</ParentRole>
      <Position>95</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>000960 - Disclosure - Note 14 - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails</Role>
      <ShortName>Note 14 - Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables</ParentRole>
      <Position>96</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>000970 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails</Role>
      <ShortName>Note 14 - Leases: Reconciliation of operating lease liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables</ParentRole>
      <Position>97</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>000980 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails</Role>
      <ShortName>Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables</ParentRole>
      <Position>98</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>000990 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails</Role>
      <ShortName>Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure</ParentRole>
      <Position>99</Position>
    </Report>
    <Report instance="utmd-20221231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>001000 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails</Role>
      <ShortName>Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables</ParentRole>
      <Position>100</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount in us-gaap/2022 used in 3 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. utmd-20221231.htm 5054, 5057, 5060</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-K" original="utmd-20221231.htm">utmd-20221231.htm</File>
    <File>utmd-20221231.xsd</File>
    <File>utmd-20221231_cal.xml</File>
    <File>utmd-20221231_def.xml</File>
    <File>utmd-20221231_lab.xml</File>
    <File>utmd-20221231_pre.xml</File>
    <File>utmd_ex10z5.htm</File>
    <File>utmd_ex21.htm</File>
    <File>utmd_ex23z1.htm</File>
    <File>utmd_ex23z2.htm</File>
    <File>utmd_ex31z1.htm</File>
    <File>utmd_ex31z2.htm</File>
    <File>utmd_ex32z1.htm</File>
    <File>utmd_ex32z2.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="771">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2022q4</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>124
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "utmd-20221231.htm": {
   "axisCustom": 1,
   "axisStandard": 6,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2022": 771,
    "http://xbrl.sec.gov/dei/2022q4": 38
   },
   "contextCount": 101,
   "dts": {
    "calculationLink": {
     "local": [
      "utmd-20221231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "utmd-20221231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "utmd-20221231.htm"
     ]
    },
    "labelLink": {
     "local": [
      "utmd-20221231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "utmd-20221231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "utmd-20221231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022q4/dei-2022q4.xsd"
     ]
    }
   },
   "elementCount": 360,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 3,
    "http://xbrl.sec.gov/dei/2022q4": 4,
    "total": 7
   },
   "keyCustom": 43,
   "keyStandard": 260,
   "memberCustom": 12,
   "memberStandard": 9,
   "nsprefix": "fil",
   "nsuri": "http://www.utahmed.com/20221231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "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.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000100 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited)",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited",
     "shortName": "Note 3 - Quarterly Results of Operations (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R100": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "001000 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "menuCat": "Details",
     "order": "100",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
     "shortName": "Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000110 - Disclosure - Note 4 - Property and Equipment",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipment",
     "shortName": "Note 4 - Property and Equipment",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000120 - Disclosure - Note 5 - Long-term Debt",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebt",
     "shortName": "Note 5 - Long-term Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000130 - Disclosure - Note 6 - Commitments and Contingencies",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingencies",
     "shortName": "Note 6 - Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000140 - Disclosure - Note 7 - Income Taxes",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxes",
     "shortName": "Note 7 - Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000150 - Disclosure - Note 8 - Options",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote8Options",
     "shortName": "Note 8 - Options",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:GeographicInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000160 - Disclosure - Note 9 - Geographic Information",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformation",
     "shortName": "Note 9 - Geographic Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:GeographicInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:GeographicLongLivedAssetsInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000170 - Disclosure - Note 10 - Geographic Long-Lived Assets Information",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation",
     "shortName": "Note 10 - Geographic Long-Lived Assets Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:GeographicLongLivedAssetsInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:RevenuesbyproductcategoryandregionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000180 - Disclosure - Note 11 - Revenues By Product Category And Region",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion",
     "shortName": "Note 11 - Revenues By Product Category And Region",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:RevenuesbyproductcategoryandregionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ProductSaleAndPurchaseCommitmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000190 - Disclosure - Note 12 - Product Sale and Purchase Commitments",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments",
     "shortName": "Note 12 - Product Sale and Purchase Commitments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ProductSaleAndPurchaseCommitmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000020 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000200 - Disclosure - Note 13 - Employee Benefit Plans",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlans",
     "shortName": "Note 13 - Employee Benefit Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000210 - Disclosure - Note 14 - Leases",
     "menuCat": "Notes",
     "order": "21",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote14Leases",
     "shortName": "Note 14 - Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000220 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure",
     "menuCat": "Notes",
     "order": "22",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure",
     "shortName": "Note 15 - CSI Distribution Agreement Purchase Disclosure",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000230 - Disclosure - Note 16 - Earnings Per Share",
     "menuCat": "Notes",
     "order": "23",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShare",
     "shortName": "Note 16 - Earnings Per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000240 - Disclosure - Note 17 - Recent Accounting Pronouncements",
     "menuCat": "Notes",
     "order": "24",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncements",
     "shortName": "Note 17 - Recent Accounting Pronouncements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000250 - Disclosure - Note 18 - Subsequent Events",
     "menuCat": "Notes",
     "order": "25",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote18SubsequentEvents",
     "shortName": "Note 18 - Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000260 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)",
     "menuCat": "Policies",
     "order": "26",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000270 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)",
     "menuCat": "Policies",
     "order": "27",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000280 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)",
     "menuCat": "Policies",
     "order": "28",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000290 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)",
     "menuCat": "Policies",
     "order": "29",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000030 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ReceivablesPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000300 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)",
     "menuCat": "Policies",
     "order": "30",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ReceivablesPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000310 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)",
     "menuCat": "Policies",
     "order": "31",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000320 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)",
     "menuCat": "Policies",
     "order": "32",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000330 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)",
     "menuCat": "Policies",
     "order": "33",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000340 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)",
     "menuCat": "Policies",
     "order": "34",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000350 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)",
     "menuCat": "Policies",
     "order": "35",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueRecognitionPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000360 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)",
     "menuCat": "Policies",
     "order": "36",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueRecognitionPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000370 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)",
     "menuCat": "Policies",
     "order": "37",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LegalCostsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000380 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)",
     "menuCat": "Policies",
     "order": "38",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LegalCostsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerSharePolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000390 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)",
     "menuCat": "Policies",
     "order": "39",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerSharePolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000040 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:PresentationOfSalesAndSimilarTaxesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000400 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)",
     "menuCat": "Policies",
     "order": "40",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:PresentationOfSalesAndSimilarTaxesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000410 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)",
     "menuCat": "Policies",
     "order": "41",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000420 - Disclosure - Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)",
     "menuCat": "Policies",
     "order": "42",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies",
     "shortName": "Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000430 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)",
     "menuCat": "Tables",
     "order": "43",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000440 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Tables)",
     "menuCat": "Tables",
     "order": "44",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000450 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Tables)",
     "menuCat": "Tables",
     "order": "45",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000460 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Tables)",
     "menuCat": "Tables",
     "order": "46",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000470 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Tables)",
     "menuCat": "Tables",
     "order": "47",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000480 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)",
     "menuCat": "Tables",
     "order": "48",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000490 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)",
     "menuCat": "Tables",
     "order": "49",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables",
     "shortName": "Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000050 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - Parenthetical",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - Parenthetical",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000500 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)",
     "menuCat": "Tables",
     "order": "50",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables",
     "shortName": "Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:PropertyPlantAndEquipmentByLocationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000510 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)",
     "menuCat": "Tables",
     "order": "51",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables",
     "shortName": "Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:PropertyPlantAndEquipmentByLocationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000520 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "menuCat": "Tables",
     "order": "52",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables",
     "shortName": "Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000530 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)",
     "menuCat": "Tables",
     "order": "53",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables",
     "shortName": "Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000540 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "menuCat": "Tables",
     "order": "54",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables",
     "shortName": "Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000550 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)",
     "menuCat": "Tables",
     "order": "55",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables",
     "shortName": "Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000560 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)",
     "menuCat": "Tables",
     "order": "56",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000570 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)",
     "menuCat": "Tables",
     "order": "57",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables",
     "shortName": "Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000580 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)",
     "menuCat": "Tables",
     "order": "58",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ScheduleOfGeographicInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000590 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)",
     "menuCat": "Tables",
     "order": "59",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables",
     "shortName": "Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ScheduleOfGeographicInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E19_StEqComps-CommonStock",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000060 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E19_StEqComps-CommonStock",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000600 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)",
     "menuCat": "Tables",
     "order": "60",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables",
     "shortName": "Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000610 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)",
     "menuCat": "Tables",
     "order": "61",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ScheduleofousrevenuesbyproductcategoryTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000620 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)",
     "menuCat": "Tables",
     "order": "62",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ScheduleofousrevenuesbyproductcategoryTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000630 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)",
     "menuCat": "Tables",
     "order": "63",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables",
     "shortName": "Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000640 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Tables)",
     "menuCat": "Tables",
     "order": "64",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables",
     "shortName": "Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000650 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)",
     "menuCat": "Tables",
     "order": "65",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables",
     "shortName": "Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22_Range-Minimum_PpeByType-BuildingAndBuildingImprovements",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000660 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)",
     "menuCat": "Details",
     "order": "66",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22_Range-Minimum_PpeByType-BuildingAndBuildingImprovements",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000670 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)",
     "menuCat": "Details",
     "order": "67",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000680 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)",
     "menuCat": "Details",
     "order": "68",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y20",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000690 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (Details)",
     "menuCat": "Details",
     "order": "69",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y20",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "000070 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LegalCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LitigationReserve",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000700 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)",
     "menuCat": "Details",
     "order": "70",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LegalCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LitigationReserve",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000710 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)",
     "menuCat": "Details",
     "order": "71",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000720 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Details)",
     "menuCat": "Details",
     "order": "72",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000730 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Details)",
     "menuCat": "Details",
     "order": "73",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E21",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000740 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Details)",
     "menuCat": "Details",
     "order": "74",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E20",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedPatentsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000750 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Details)",
     "menuCat": "Details",
     "order": "75",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedPatentsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedIncomeTaxesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000760 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Details)",
     "menuCat": "Details",
     "order": "76",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedIncomeTaxesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000770 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)",
     "menuCat": "Details",
     "order": "77",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
     "shortName": "Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22Q4",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GrossProfit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Land",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000780 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Details)",
     "menuCat": "Details",
     "order": "78",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails",
     "shortName": "Note 4 - Property and Equipment: Property, Plant and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Land",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000790 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)",
     "menuCat": "Details",
     "order": "79",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
     "shortName": "Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:PropertyPlantAndEquipmentByLocationTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22_StGeo-U.S.AndCanada",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Land",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "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 - Note 1 - Summary of Significant Accounting Policies",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000800 - Disclosure - Note 5 - Long-term Debt (Details)",
     "menuCat": "Details",
     "order": "80",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebtDetails",
     "shortName": "Note 5 - Long-term Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y21",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "fil:LitigationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000810 - Disclosure - Note 6 - Commitments and Contingencies (Details)",
     "menuCat": "Details",
     "order": "81",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails",
     "shortName": "Note 6 - Commitments and Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y21",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "fil:LitigationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000820 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "menuCat": "Details",
     "order": "82",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails",
     "shortName": "Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000830 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)",
     "menuCat": "Details",
     "order": "83",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails",
     "shortName": "Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000840 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "menuCat": "Details",
     "order": "84",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
     "shortName": "Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000850 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)",
     "menuCat": "Details",
     "order": "85",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails",
     "shortName": "Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000860 - Disclosure - Note 8 - Options (Details)",
     "menuCat": "Details",
     "order": "86",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails",
     "shortName": "Note 8 - Options (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000870 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)",
     "menuCat": "Details",
     "order": "87",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000880 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)",
     "menuCat": "Details",
     "order": "88",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails",
     "shortName": "Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000890 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)",
     "menuCat": "Details",
     "order": "89",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "UsdPerShare",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000090 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R90": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfGeographicInformationTextBlock",
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "fil:CompanySalesInTheUnitedStates",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000900 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Details)",
     "menuCat": "Details",
     "order": "90",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails",
     "shortName": "Note 9 - Geographic Information: Schedule Of Geographic Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfGeographicInformationTextBlock",
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "fil:CompanySalesInTheUnitedStates",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R91": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "fil:LongLivedAssetsInTheUnitedStates",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000910 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)",
     "menuCat": "Details",
     "order": "91",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails",
     "shortName": "Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "fil:LongLivedAssetsInTheUnitedStates",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R92": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000920 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)",
     "menuCat": "Details",
     "order": "92",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock",
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22_StGeo-Global",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R93": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000930 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)",
     "menuCat": "Details",
     "order": "93",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleofousrevenuesbyproductcategoryTextBlock",
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22_StGeo-Ous",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R94": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RoyaltyIncomeNonoperating",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000940 - Disclosure - Note 12 - Product Sale and Purchase Commitments (Details)",
     "menuCat": "Details",
     "order": "94",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails",
     "shortName": "Note 12 - Product Sale and Purchase Commitments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "fil:ProductSaleAndPurchaseCommitmentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ContractualObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R95": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000950 - Disclosure - Note 13 - Employee Benefit Plans (Details)",
     "menuCat": "Details",
     "order": "95",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails",
     "shortName": "Note 13 - Employee Benefit Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R96": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "D221231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:LesseeOperatingLeaseForParkingLotTermOfContract",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000960 - Disclosure - Note 14 - Leases (Details)",
     "menuCat": "Details",
     "order": "96",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails",
     "shortName": "Note 14 - Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "D221231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "fil:LesseeOperatingLeaseForParkingLotTermOfContract",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R97": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000970 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Details)",
     "menuCat": "Details",
     "order": "97",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
     "shortName": "Note 14 - Leases: Reconciliation of operating lease liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OperatingLeaseLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R98": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000980 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Details)",
     "menuCat": "Details",
     "order": "98",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails",
     "shortName": "Note 14 - Leases: Lessee, Operating Lease, Liability, Maturity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "E22",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R99": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "000990 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)",
     "menuCat": "Details",
     "order": "99",
     "role": "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
     "shortName": "Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "utmd-20221231.htm",
      "contextRef": "Y22_DistributionRightsAcquisition-CoopersurgicalInc",
      "decimals": "INF",
      "lang": null,
      "name": "fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 21,
   "tag": {
    "country_IE": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "IRELAND"
       }
      }
     },
     "localname": "IE",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r439",
      "r440",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r439",
      "r440",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r439",
      "r440",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r439",
      "r440",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "auth_ref": [
      "r439",
      "r440",
      "r441",
      "r443"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement",
        "label": "Document Financial Statement Error Correction"
       }
      }
     },
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r442"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r437"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r436"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r436"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r446"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.",
        "label": "Ex Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r436"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r444"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r436"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r436"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r436"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r436"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r445"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-Known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r439",
      "r440",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r435"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022q4",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "fil_AdjustmentToDeferredTaxLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Adjustment To Deferred Tax Liability, during the indicated time period.",
        "label": "Adjustment To Deferred Tax Liability",
        "negatedLabel": "Adjustment To Deferred Tax Liability"
       }
      }
     },
     "localname": "AdjustmentToDeferredTaxLiability",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_BloodPressureMonitoringandAccessoriesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Blood Pressure Monitoring and Accessories, during the indicated time period.",
        "label": "Blood Pressure Monitoring and Accessories"
       }
      }
     },
     "localname": "BloodPressureMonitoringandAccessoriesMember",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Common stock received and retired upon exercise of stock options, during the indicated time period.",
        "label": "Common stock received and retired upon exercise of stock options"
       }
      }
     },
     "localname": "CommonStockReceivedAndRetiredUponExerciseOfStockOptions",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Common stock received and retired upon exercise of stock options, shares (number of shares), during the indicated time period.",
        "label": "Common stock received and retired upon exercise of stock options, shares"
       }
      }
     },
     "localname": "CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "fil_CompanySalesInEurope": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Company Sales in Europe, during the indicated time period.",
        "label": "Company Sales in Europe"
       }
      }
     },
     "localname": "CompanySalesInEurope",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_CompanySalesInTheUnitedStates": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Company Sales in the United States, during the indicated time period.",
        "label": "Company Sales in the United States"
       }
      }
     },
     "localname": "CompanySalesInTheUnitedStates",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_CompanySalesOther": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Company Sales Other, during the indicated time period.",
        "label": "Company Sales Other"
       }
      }
     },
     "localname": "CompanySalesOther",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_CoopersurgicalIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the CooperSurgical Inc, during the indicated time period.",
        "label": "CooperSurgical Inc"
       }
      }
     },
     "localname": "CoopersurgicalIncMember",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_DeferredIncomeTaxExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Deferred Income Tax Expense, during the indicated time period.",
        "label": "Deferred Income Tax Expense"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpense",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_DeferredTaxLiabilitiesDepreciationAndAmortization": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Deferred Tax Liabilities Depreciation and Amortization, as of the indicated date.",
        "label": "Deferred Tax Liabilities Depreciation and Amortization",
        "negatedLabel": "Deferred Tax Liabilities Depreciation and Amortization"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesDepreciationAndAmortization",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_DistributionRightsAcquisitionAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the description of Distribution Rights Acquisition, during the indicated time period.",
        "label": "Distribution Rights Acquisition [Axis]"
       }
      }
     },
     "localname": "DistributionRightsAcquisitionAxis",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fil_DistributionRightsAcquisitionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Distribution Rights Acquisition, during the indicated time period.",
        "label": "Distribution Rights Acquisition"
       }
      }
     },
     "localname": "DistributionRightsAcquisitionDomain",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months, as of the indicated date.",
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition, during the indicated time period.",
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years, as of the indicated date.",
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYears",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years Period For Recognition, during the indicated time period.",
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 2 Years Period For Recognition"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwoYearsPeriodForRecognition",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fil_EnglandAndAustraliaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the England and Australia, during the indicated time period.",
        "label": "England and Australia"
       }
      }
     },
     "localname": "EnglandAndAustraliaMember",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Regulatory approvals &amp; product certifications, as of the indicated date.",
        "label": "Regulatory approvals &amp; product certifications"
       }
      }
     },
     "localname": "FiniteLivedRegulatoryApprovalsAndProductCertificationsGross",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the pure numeric value of Foreign Currency Exchange Rate Translation AUD to USD, as of the indicated date.",
        "label": "Foreign Currency Exchange Rate Translation AUD to USD"
       }
      }
     },
     "localname": "ForeignCurrencyExchangeRateTranslationAUDtoUSD",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the pure numeric value of Foreign Currency Exchange Rate Translation GBP to USD, as of the indicated date.",
        "label": "Foreign Currency Exchange Rate Translation GBP to USD"
       }
      }
     },
     "localname": "ForeignCurrencyExchangeRateTranslationGBPtoUSD",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "fil_GeographicInformationTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Note 9 - Geographic Information, during the indicated time period.",
        "label": "Note 9 - Geographic Information"
       }
      }
     },
     "localname": "GeographicInformationTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_GeographicLongLivedAssetsInformationTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Note 10 - Geographic Long-Lived Assets Information, during the indicated time period.",
        "label": "Note 10 - Geographic Long-Lived Assets Information"
       }
      }
     },
     "localname": "GeographicLongLivedAssetsInformationTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_GlobalMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Global, during the indicated time period.",
        "label": "Global"
       }
      }
     },
     "localname": "GlobalMember",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_GynecologyElectrosurgeryUrologyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Gynecology/Electrosurgery/Urology, during the indicated time period.",
        "label": "Gynecology/Electrosurgery/Urology"
       }
      }
     },
     "localname": "GynecologyElectrosurgeryUrologyMember",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_LesseeOperatingLeaseForAutomobileTermOfContract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Lessee Operating Lease for Automobile Term of Contract, during the indicated time period.",
        "label": "Lessee Operating Lease for Automobile Term of Contract"
       }
      }
     },
     "localname": "LesseeOperatingLeaseForAutomobileTermOfContract",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI, during the indicated time period.",
        "label": "Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI {1}",
        "terseLabel": "Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI"
       }
      }
     },
     "localname": "LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_LesseeOperatingLeaseForParkingLotTermOfContract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Lessee Operating Lease for Parking Lot Term of Contract, during the indicated time period.",
        "label": "Lessee Operating Lease for Parking Lot Term of Contract"
       }
      }
     },
     "localname": "LesseeOperatingLeaseForParkingLotTermOfContract",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "fil_LitigationExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Litigation Expense, during the indicated time period.",
        "label": "Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI"
       }
      }
     },
     "localname": "LitigationExpense",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_LongLivedAssetsInAustralia": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Long-lived assets in Australia, as of the indicated date.",
        "label": "Long-lived assets in Australia"
       }
      }
     },
     "localname": "LongLivedAssetsInAustralia",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_LongLivedAssetsInCanada": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Long-lived assets in Canada, as of the indicated date.",
        "label": "Long-lived assets in Canada"
       }
      }
     },
     "localname": "LongLivedAssetsInCanada",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_LongLivedAssetsInEngland": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Long-lived assets in England, as of the indicated date.",
        "label": "Long-lived assets in England"
       }
      }
     },
     "localname": "LongLivedAssetsInEngland",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_LongLivedAssetsInIreland": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Long-lived assets in Ireland, as of the indicated date.",
        "label": "Long-lived assets in Ireland"
       }
      }
     },
     "localname": "LongLivedAssetsInIreland",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_LongLivedAssetsInTheUnitedStates": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Long-lived assets in the United States, as of the indicated date.",
        "label": "Long-lived assets in the United States"
       }
      }
     },
     "localname": "LongLivedAssetsInTheUnitedStates",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_NeonatalMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Neonatal, during the indicated time period.",
        "label": "Neonatal"
       }
      }
     },
     "localname": "NeonatalMember",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ObstetricsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Obstetrics, during the indicated time period.",
        "label": "Obstetrics"
       }
      }
     },
     "localname": "ObstetricsMember",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_OusMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the OUS, during the indicated time period.",
        "label": "OUS"
       }
      }
     },
     "localname": "OusMember",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_PresentationOfSalesAndSimilarTaxesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Presentation of Sales and Similar Taxes, during the indicated time period.",
        "label": "Presentation of Sales and Similar Taxes"
       }
      }
     },
     "localname": "PresentationOfSalesAndSimilarTaxesTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_PriceRangePerShareExercised": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the description of Price Range Per Share Exercised, during the indicated time period.",
        "label": "Price Range Per Share Exercised"
       }
      }
     },
     "localname": "PriceRangePerShareExercised",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fil_PriceRangePerShareExpired": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the description of Price Range Per Share Expired, during the indicated time period.",
        "label": "Price Range Per Share Expired"
       }
      }
     },
     "localname": "PriceRangePerShareExpired",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fil_PriceRangePerShareGranted": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the description of Price Range Per Share Granted, during the indicated time period.",
        "label": "Price Range Per Share Granted"
       }
      }
     },
     "localname": "PriceRangePerShareGranted",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fil_PriceRangePerShareOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the description of Price Range Per Share Outstanding, during the indicated time period.",
        "label": "Price Range Per Share Outstanding"
       }
      }
     },
     "localname": "PriceRangePerShareOutstanding",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fil_PriceRangePerShareTotalExercisable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the description of Price Range Per Share Total Exercisable, during the indicated time period.",
        "label": "Price Range Per Share Total Exercisable"
       }
      }
     },
     "localname": "PriceRangePerShareTotalExercisable",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "fil_ProductSaleAndPurchaseCommitmentsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Note 12 - Product Sale and Purchase Commitments, during the indicated time period.",
        "label": "Note 12 - Product Sale and Purchase Commitments"
       }
      }
     },
     "localname": "ProductSaleAndPurchaseCommitmentsTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_PropertyPlantAndEquipmentByLocationTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Property Plant and Equipment by Location, during the indicated time period.",
        "label": "Property Plant and Equipment by Location"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByLocationTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_Range1Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Range 1, during the indicated time period.",
        "label": "Range 1"
       }
      }
     },
     "localname": "Range1Member",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_Range2Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Range 2, during the indicated time period.",
        "label": "Range 2"
       }
      }
     },
     "localname": "Range2Member",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_Range3Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Range 3, during the indicated time period.",
        "label": "Range 3"
       }
      }
     },
     "localname": "Range3Member",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reconciliation of operating lease liabilities/ payments to operating lease liabilities.",
        "label": "Reconciliation of operating lease liabilities"
       }
      }
     },
     "localname": "ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System, during the indicated time period.",
        "label": "Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System"
       }
      }
     },
     "localname": "RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails"
     ],
     "xbrltype": "decimalItemType"
    },
    "fil_RevenuesbyproductcategoryandregionTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Revenues By Product Category And Region, during the indicated time period.",
        "label": "Note 11 - Revenues By Product Category And Region"
       }
      }
     },
     "localname": "RevenuesbyproductcategoryandregionTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_ScheduleOfGeographicInformationTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Schedule Of Geographic Information, during the indicated time period.",
        "label": "Schedule Of Geographic Information"
       }
      }
     },
     "localname": "ScheduleOfGeographicInformationTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Schedule Of Long-Lived Assets By Geographic Area, during the indicated time period.",
        "label": "Schedule Of Long-Lived Assets By Geographic Area"
       }
      }
     },
     "localname": "ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Schedule Of Global Revenues By Product Category, during the indicated time period.",
        "label": "Schedule Of Global Revenues By Product Category"
       }
      }
     },
     "localname": "ScheduleofglobalrevenuesbyproductcategoryTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_ScheduleofousrevenuesbyproductcategoryTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the textual narrative disclosure of Schedule Of OUS Revenues By Product Category, during the indicated time period.",
        "label": "Schedule Of OUS Revenues By Product Category"
       }
      }
     },
     "localname": "ScheduleofousrevenuesbyproductcategoryTextBlock",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "fil_TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the monetary amount of Tax Cuts and Jobs Act of 2017 Global Intangible Low Taxed Income Income Tax Expense, during the indicated time period.",
        "label": "Tax Cuts and Jobs Act of 2017 Global Intangible Low Taxed Income Income Tax Expense"
       }
      }
     },
     "localname": "TaxCutsAndJobsActOf2017GlobalIntangibleLowTaxedIncomeIncomeTaxExpense",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "fil_U.S.AndCanadaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the U.S. and Canada, during the indicated time period.",
        "label": "U.S. and Canada"
       }
      }
     },
     "localname": "U.S.AndCanadaMember",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "fil_WeightedAverageRemainingContractualLifeYears": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the Weighted Average Remaining Contractual Life (Years), as of the indicated date.",
        "label": "Weighted Average Remaining Contractual Life (Years)"
       }
      }
     },
     "localname": "WeightedAverageRemainingContractualLifeYears",
     "nsuri": "http://www.utahmed.com/20221231",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "decimalItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r231",
      "r232",
      "r233",
      "r234",
      "r262",
      "r366",
      "r382",
      "r405",
      "r406",
      "r421",
      "r425",
      "r434",
      "r488",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r231",
      "r232",
      "r233",
      "r234",
      "r262",
      "r366",
      "r382",
      "r405",
      "r406",
      "r421",
      "r425",
      "r434",
      "r488",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r203",
      "r368",
      "r422",
      "r432",
      "r483",
      "r484",
      "r489",
      "r507"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r203",
      "r368",
      "r422",
      "r432",
      "r483",
      "r484",
      "r489",
      "r507"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r231",
      "r232",
      "r233",
      "r234",
      "r250",
      "r262",
      "r277",
      "r278",
      "r279",
      "r365",
      "r366",
      "r382",
      "r405",
      "r406",
      "r421",
      "r425",
      "r434",
      "r481",
      "r488",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r231",
      "r232",
      "r233",
      "r234",
      "r250",
      "r262",
      "r277",
      "r278",
      "r279",
      "r365",
      "r366",
      "r382",
      "r405",
      "r406",
      "r421",
      "r425",
      "r434",
      "r481",
      "r488",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r169",
      "r263",
      "r447",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r204",
      "r205",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r423",
      "r433",
      "r489"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment, Geographical"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r204",
      "r205",
      "r391",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r423",
      "r433",
      "r489"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r169",
      "r263",
      "r447",
      "r448",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsAndOtherReceivablesNetCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance, receivable from customers, clients, or other third-parties, and receivables classified as other due within one year or the normal operating cycle, if longer.",
        "label": "Accounts and Other Receivables, Net, Current",
        "totalLabel": "Accounts and Other Receivables, Net, Current"
       }
      }
     },
     "localname": "AccountsAndOtherReceivablesNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r13",
      "r431"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "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/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "auth_ref": [
      "r128",
      "r207",
      "r208",
      "r409"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsAndOtherReceivablesNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current"
       }
      }
     },
     "localname": "AccountsReceivableGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r207",
      "r208"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 2.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 and other receivables, net (note 2)"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "auth_ref": [
      "r1",
      "r99",
      "r107"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.",
        "label": "Accrued Income Taxes, Current"
       }
      }
     },
     "localname": "AccruedIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r15"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued expenses (note 2)",
        "totalLabel": "Accrued expenses (note 2)"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r66",
      "r124"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      },
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "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": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of increase (decrease) in accumulated equity from transactions and other events and circumstances from non-owner sources, including portion attributable to noncontrolling interest. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners (distributions to owners).",
        "label": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossBeforeTax1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r5"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r287",
      "r288",
      "r289",
      "r458",
      "r459",
      "r460",
      "r495"
     ],
     "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 Capitol"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by operating activities"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r281"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-Based Payment Arrangement, Expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r129",
      "r209",
      "r216"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccountsAndOtherReceivablesNetCurrent",
       "weight": -1.0
      }
     },
     "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",
        "negatedLabel": "Accounts Receivable, Allowance for Credit Loss, Current"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r36",
      "r55",
      "r61"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization {1}",
        "terseLabel": "Amortization"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r98",
      "r106",
      "r127",
      "r148",
      "r194",
      "r197",
      "r201",
      "r212",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r323",
      "r327",
      "r336",
      "r431",
      "r486",
      "r487",
      "r498"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r119",
      "r133",
      "r148",
      "r212",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r323",
      "r327",
      "r336",
      "r431",
      "r486",
      "r487",
      "r498"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total current assets",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.",
        "label": "Building and Building Improvements"
       }
      }
     },
     "localname": "BuildingAndBuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      },
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "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, Gross"
       }
      }
     },
     "localname": "BuildingsAndImprovementsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r38",
      "r122",
      "r407"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "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 {1}",
        "terseLabel": "Cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r39"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash and Cash Equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r32",
      "r38",
      "r41"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash at beginning of year",
        "periodEndLabel": "Cash at end of year",
        "periodStartLabel": "Cash at beginning of year"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r32",
      "r96"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Net increase in cash and cash equivalents",
        "totalLabel": "Net increase in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r17",
      "r103",
      "r112"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and contingencies (notes 6 and 12)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r70",
      "r229",
      "r230",
      "r392",
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Note 6 - Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r458",
      "r459",
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r4",
      "r74"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r4",
      "r431"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common stock, $.01 par value; 50,000 shares authorized, issued 3,628 shares in 2022 and 3,655 shares in 2021"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The change in equity (net assets) of a business enterprise during a period from transactions and other events and circumstances from non-owner sources. It includes all changes in equity during a period except those resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income"
       }
      }
     },
     "localname": "ComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r22",
      "r135",
      "r137",
      "r142",
      "r375",
      "r379"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Total comprehensive income",
        "totalLabel": "Total comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "auth_ref": [
      "r50"
     ],
     "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": "Concentration of Credit Risk"
       }
      }
     },
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r94",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Principles of Consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConstructionInProgressGross": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      },
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress, Gross"
       }
      }
     },
     "localname": "ConstructionInProgressGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractualObligation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of contractual obligation, including but not limited to, long-term debt, capital lease obligations, operating lease obligations, purchase obligations, and other commitments.",
        "label": "Contractual Obligation"
       }
      }
     },
     "localname": "ContractualObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r25",
      "r368"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of goods sold"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r91",
      "r304",
      "r315",
      "r457"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense (Benefit)"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r36",
      "r91",
      "r305",
      "r314",
      "r315",
      "r457"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r294",
      "r295"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 5.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 (note 7)"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "auth_ref": [
      "r89",
      "r493"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.",
        "label": "Deferred Tax Assets, Inventory"
       }
      }
     },
     "localname": "DeferredTaxAssetsInventory",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "auth_ref": [
      "r89",
      "r493"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "auth_ref": [
      "r89",
      "r493"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.",
        "label": "Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxExpenseFromStockOptionsExercised": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax expense from write-off of the deferred tax asset related to deductible stock options at exercise.",
        "label": "Tax benefit attributable to exercise of stock options"
       }
      }
     },
     "localname": "DeferredTaxExpenseFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r86",
      "r492"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Deferred Tax Liabilities, Net"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "auth_ref": [
      "r89",
      "r493"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.",
        "label": "Deferred tax liability - intangible assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r36",
      "r64"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "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/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r265",
      "r282",
      "r283",
      "r285",
      "r291",
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Note 8 - Options"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8Options"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DividendsCommonStockCash": {
     "auth_ref": [
      "r75"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.",
        "label": "Common stock dividends",
        "negatedLabel": "Common stock dividends"
       }
      }
     },
     "localname": "DividendsCommonStockCash",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r143",
      "r161",
      "r162",
      "r163",
      "r164",
      "r165",
      "r172",
      "r174",
      "r175",
      "r176",
      "r177",
      "r181",
      "r331",
      "r332",
      "r376",
      "r380",
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings per common share (basic) (note 1)",
        "verboseLabel": "Earnings per share, basic"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r143",
      "r161",
      "r162",
      "r163",
      "r164",
      "r165",
      "r174",
      "r175",
      "r176",
      "r177",
      "r181",
      "r331",
      "r332",
      "r376",
      "r380",
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings per common share (diluted) (note 1)",
        "verboseLabel": "Earnings Per Share Diluted"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r43",
      "r45"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Earnings Per Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r178",
      "r179",
      "r180",
      "r182"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Note 16 - Earnings Per Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r341"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Effect of exchange rate changes on cash"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount": {
     "auth_ref": [
      "r491"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to increase (decrease) from transition tax on accumulated earnings of controlled foreign corporation deemed repatriated pursuant to Tax Cuts and Jobs Act.",
        "label": "Effective Income Tax Rate Reconciliation Tax Cuts And Jobs Act Of 2017 Transition Tax On Accumulated Foreign Earnings Amount"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017TransitionTaxOnAccumulatedForeignEarningsAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r15"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "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": "Employee-related Liabilities, Current"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r284"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions": {
     "auth_ref": [
      "r286"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax benefit from exercise of option under share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Exercise of Option, Tax Benefit"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services.",
        "label": "Equipment"
       }
      }
     },
     "localname": "EquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r74",
      "r115",
      "r139",
      "r140",
      "r141",
      "r152",
      "r153",
      "r154",
      "r158",
      "r166",
      "r168",
      "r186",
      "r213",
      "r247",
      "r287",
      "r288",
      "r289",
      "r307",
      "r308",
      "r330",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r348",
      "r361",
      "r383",
      "r384",
      "r385"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedCustomerRelationshipsGross": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date to an asset acquired in a business combination representing a favorable existing relationship with customers having a finite beneficial life.",
        "label": "Finite-Lived Customer Relationships, Gross"
       }
      }
     },
     "localname": "FiniteLivedCustomerRelationshipsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r126",
      "r227"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      },
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Other intangible assets - accumulated amortization",
        "negatedLabel": "Other intangible assets - accumulated amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r62"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r62"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r62"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r62"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r62"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r60",
      "r373"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      },
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Other intangible assets (note 2)",
        "totalLabel": "Other intangible assets (note 2)"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r60",
      "r369"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Finite-Lived Intangible Assets, Net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedNoncompeteAgreementsGross": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of payments made to third parties in exchange for their agreement not to engage in specified competitive practices in specified geographic territories for a specified period of time.",
        "label": "Finite-Lived Noncompete Agreements, Gross"
       }
      }
     },
     "localname": "FiniteLivedNoncompeteAgreementsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedPatentsGross": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights.",
        "label": "Finite-Lived Patents, Gross"
       }
      }
     },
     "localname": "FiniteLivedPatentsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedTrademarksGross": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date for the rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style for a specified period of time.",
        "label": "Finite-Lived Trademarks, Gross"
       }
      }
     },
     "localname": "FiniteLivedTrademarksGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinitelivedIntangibleAssetsAcquired1": {
     "auth_ref": [
      "r226"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.",
        "label": "Finite-Lived Intangible Assets Acquired"
       }
      }
     },
     "localname": "FinitelivedIntangibleAssetsAcquired1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r349"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.",
        "label": "Translation of Foreign Currencies"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets": {
     "auth_ref": [
      "r454",
      "r479",
      "r480"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.",
        "label": "Loss/(Gain) on disposal of assets",
        "negatedLabel": "Loss/(Gain) on disposal of assets"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r125",
      "r221",
      "r374",
      "r418",
      "r431",
      "r468",
      "r475"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "periodEndLabel": "Total Goodwill as of December 31",
        "periodStartLabel": "Balance as of January 1"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "auth_ref": [
      "r53",
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.",
        "label": "Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r224"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Effect of foreign exchange"
       }
      }
     },
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "auth_ref": [
      "r36",
      "r222",
      "r223",
      "r225",
      "r418"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Subtractions as a result of impairment"
       }
      }
     },
     "localname": "GoodwillImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r24",
      "r148",
      "r194",
      "r196",
      "r200",
      "r202",
      "r212",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r336",
      "r417",
      "r486"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "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",
        "verboseLabel": "Gross Profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "auth_ref": [
      "r63",
      "r68"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.",
        "label": "Long-lived Assets"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "auth_ref": [
      "r149",
      "r316"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "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) from Continuing Operations before Income Taxes, Domestic"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r23",
      "r97",
      "r104",
      "r113",
      "r194",
      "r196",
      "r200",
      "r202",
      "r377",
      "r417"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income before provision for income taxes",
        "totalLabel": "Income before provision for income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "auth_ref": [
      "r149",
      "r316"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "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 foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME",
        "verboseLabel": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - Parenthetical"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r150",
      "r298",
      "r300",
      "r303",
      "r312",
      "r317",
      "r319",
      "r320",
      "r321"
     ],
     "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": "Note 7 - Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r151",
      "r167",
      "r168",
      "r193",
      "r296",
      "r313",
      "r318",
      "r381"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Provision for income taxes (note 7)",
        "totalLabel": "Provision for income taxes (note 7)"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r138",
      "r292",
      "r293",
      "r300",
      "r301",
      "r302",
      "r306"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "auth_ref": [
      "r491"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount"
       }
      }
     },
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r297"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount"
       }
      }
     },
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "auth_ref": [
      "r491"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Amount"
       }
      }
     },
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r491"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount"
       }
      }
     },
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": {
     "auth_ref": [
      "r491"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount",
        "negatedLabel": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount"
       }
      }
     },
     "localname": "IncomeTaxReconciliationTaxCreditsResearch",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaid": {
     "auth_ref": [
      "r33",
      "r40"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.",
        "label": "Cash paid during the period for income taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaid",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 14.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/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Accounts receivable",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 15.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 expenses incurred but not yet paid.",
        "label": "Accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 12.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",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherReceivables": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in receivables classified as other.",
        "label": "Other receivables",
        "negatedLabel": "Other receivables"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherReceivables",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Prepaid expenses and other current assets {1}",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r228"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Note 15 - CSI Distribution Agreement Purchase Disclosure"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r54",
      "r58"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Other intangible assets, net (note 2)",
        "totalLabel": "Other intangible assets, net (note 2)"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaid": {
     "auth_ref": [
      "r455"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, including, but not limited to, capitalized interest and payment to settle zero-coupon bond attributable to accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount; classified as operating and investing activities.",
        "label": "Cash paid during the period for interest"
       }
      }
     },
     "localname": "InterestPaid",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestReceivableAndOtherAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccountsAndOtherReceivablesNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest receivable and assets classified as other.",
        "label": "Interest Receivable and Other Assets"
       }
      }
     },
     "localname": "InterestReceivableAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r52",
      "r410"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Inventory, Finished Goods, Net of Reserves"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r131",
      "r408",
      "r431"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 3.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 (note 2)",
        "totalLabel": "Inventories (note 2)"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r121",
      "r130",
      "r183",
      "r218",
      "r219",
      "r220",
      "r367",
      "r412"
     ],
     "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 {1}",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r451"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Raw Materials, Gross"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcess": {
     "auth_ref": [
      "r450"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "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": "Inventory, Work in Process, Gross"
       }
      }
     },
     "localname": "InventoryWorkInProcess",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Land": {
     "auth_ref": [
      "r449"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      },
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.",
        "label": "Land"
       }
      }
     },
     "localname": "Land",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LegalCostsPolicyTextBlock": {
     "auth_ref": [
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for legal costs incurred to protect or defend the entity's assets and rights, or to obtain assets, including monetary damages, or to obtain rights.",
        "label": "Legal Costs"
       }
      }
     },
     "localname": "LegalCostsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r358"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r358"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r358"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r358"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r358"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r358"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r358"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r358"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Note 14 - Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r14",
      "r148",
      "r212",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r324",
      "r327",
      "r328",
      "r336",
      "r416",
      "r486",
      "r498",
      "r499"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Total liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r9",
      "r101",
      "r110",
      "r431",
      "r456",
      "r467",
      "r496"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "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 stockholders' equity",
        "totalLabel": "Total liabilities and stockholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r16",
      "r120",
      "r148",
      "r212",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r324",
      "r327",
      "r328",
      "r336",
      "r431",
      "r486",
      "r498",
      "r499"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Total current liabilities",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LitigationReserve": {
     "auth_ref": [
      "r17",
      "r482"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs.",
        "label": "Estimated Litigation Liability"
       }
      }
     },
     "localname": "LitigationReserve",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LitigationReserveCurrent": {
     "auth_ref": [
      "r17",
      "r482"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount of reserve for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs, which is expected to be paid within one year of the date of the statement of financial position.",
        "label": "Estimated Litigation Liability, Current"
       }
      }
     },
     "localname": "LitigationReserveCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r2",
      "r100",
      "r108",
      "r245",
      "r246",
      "r419",
      "r420"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "Long-Term Debt"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtTextBlock": {
     "auth_ref": [
      "r73"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term debt.",
        "label": "Note 5 - Long-term Debt"
       }
      }
     },
     "localname": "LongTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote5LongTermDebt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0
      },
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "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": "Machinery and Equipment, Gross"
       }
      }
     },
     "localname": "MachineryAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r146"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net cash (used in) financing activities",
        "totalLabel": "Net cash (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r146"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net cash (used in) investing activities",
        "totalLabel": "Net cash (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r32",
      "r34",
      "r37"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net cash provided by operating activities",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "auth_ref": [
      "r117",
      "r155",
      "r156",
      "r159",
      "r160",
      "r169",
      "r170",
      "r171",
      "r210",
      "r211",
      "r214",
      "r215",
      "r309",
      "r310",
      "r311",
      "r329",
      "r333",
      "r334",
      "r335",
      "r337",
      "r338",
      "r339",
      "r350",
      "r351",
      "r360",
      "r362",
      "r370",
      "r371",
      "r372",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.",
        "label": "Note 17 - Recent Accounting Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r194",
      "r196",
      "r200",
      "r202",
      "r417"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating income",
        "totalLabel": "Operating income"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r355",
      "r430"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r353"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r353"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r354"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.",
        "label": "Operating Lease, Liability, Current, Statement of Financial Position"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r353"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Long term lease liability"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r352"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Right-of-Use Asset"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "auth_ref": [
      "r454"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for right-of-use asset from operating lease.",
        "label": "Amortization of operating lease assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r354"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes operating lease right-of-use asset.",
        "label": "Operating Lease, Right-of-Use Asset, Statement of Financial Position"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r357",
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r356",
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityMaturityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r15"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r132",
      "r431"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r20"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Foreign currency translation adjustment",
        "verboseLabel": "Foreign currency translation net of taxes of $0 in all periods"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax": {
     "auth_ref": [
      "r20",
      "r21",
      "r340",
      "r347"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income (loss)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherFiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated amortization of finite-lived intangible assets classified as other.",
        "label": "Other Finite-Lived Intangible Assets, Gross"
       }
      }
     },
     "localname": "OtherFiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherInterestAndDividendIncome": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after discount, accretion and premium amortization, of interest income and dividend income classified as other.",
        "label": "Dividend and interest income"
       }
      }
     },
     "localname": "OtherInterestAndDividendIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r31"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Common stock purchased and retired {1}",
        "negatedLabel": "Common stock purchased and retired"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividends": {
     "auth_ref": [
      "r31"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.",
        "label": "Dividends paid",
        "negatedLabel": "Dividends paid"
       }
      }
     },
     "localname": "PaymentsOfDividends",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "auth_ref": [
      "r29"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.",
        "label": "Intangible assets",
        "negatedLabel": "Intangible assets"
       }
      }
     },
     "localname": "PaymentsToAcquireIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r29"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Property and equipment",
        "negatedLabel": "Property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r264",
      "r424"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for retirement benefits.",
        "label": "Note 13 - Employee Benefit Plans"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote13EmployeeBenefitPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Policies"
       }
      }
     },
     "localname": "PolicyTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r30"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from issuance of common stock - options"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrual": {
     "auth_ref": [
      "r71",
      "r72",
      "r102"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "Standard and Extended Product Warranty Accrual"
       }
      }
     },
     "localname": "ProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r118",
      "r134",
      "r136",
      "r145",
      "r148",
      "r157",
      "r167",
      "r168",
      "r194",
      "r196",
      "r200",
      "r202",
      "r212",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r322",
      "r325",
      "r326",
      "r332",
      "r336",
      "r377",
      "r417",
      "r428",
      "r429",
      "r453",
      "r486"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net Income"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r69",
      "r393",
      "r394",
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Note 4 - Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r65",
      "r123"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      },
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "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/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r67",
      "r111",
      "r378",
      "r431"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property and equipment, net (notes 4 and 10)",
        "totalLabel": "Property and equipment, net (notes 4 and 10)"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r67",
      "r393",
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r65"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r144",
      "r217"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Provision for losses on accounts receivable"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "auth_ref": [
      "r46",
      "r185"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.",
        "label": "Note 3 - Quarterly Results of Operations (Unaudited)"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReceivablesPolicyTextBlock": {
     "auth_ref": [
      "r463",
      "r464",
      "r465",
      "r466"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.",
        "label": "Accounts Receivable"
       }
      }
     },
     "localname": "ReceivablesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r85",
      "r114",
      "r506"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r6",
      "r75",
      "r109",
      "r386",
      "r390",
      "r431"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r115",
      "r152",
      "r153",
      "r154",
      "r158",
      "r166",
      "r168",
      "r213",
      "r287",
      "r288",
      "r289",
      "r307",
      "r308",
      "r330",
      "r383",
      "r385"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r191",
      "r192",
      "r195",
      "r198",
      "r199",
      "r203",
      "r204",
      "r206",
      "r248",
      "r249",
      "r368"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Sales, net (notes 1, 3, 9 and 11)",
        "verboseLabel": "Net Sales"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "auth_ref": [
      "r413",
      "r414"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.",
        "label": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueRecognitionPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RoyaltyIncomeNonoperating": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources.",
        "label": "Royalty income (note 12)"
       }
      }
     },
     "localname": "RoyaltyIncomeNonoperating",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts and Other Receivables"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Expenses"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r90"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit)"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r88"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r462"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r87"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r56",
      "r59"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r418",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "auth_ref": [
      "r457"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.",
        "label": "Schedule of Income before Income Tax, Domestic and Foreign"
       }
      }
     },
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r0",
      "r10",
      "r11",
      "r12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "auth_ref": [
      "r184"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.",
        "label": "Quarterly Financial Information"
       }
      }
     },
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": {
     "auth_ref": [
      "r84"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms.",
        "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r76",
      "r80",
      "r81"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Schedule of Share-based Compensation, Stock Options, Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r82"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "auth_ref": [
      "r44"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).",
        "label": "Schedule of Weighted Average Number of Shares"
       }
      }
     },
     "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Sales and marketing"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Stock-based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments": {
     "auth_ref": [
      "r278"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated amount of dividends to be paid to holders of the underlying shares (expected dividends) over the option's term. Dividends are taken into account because payment of dividends to shareholders reduces the fair value of the underlying shares, and option holders generally do not receive dividends.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Payments"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r277"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r279"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r427"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r273"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "auth_ref": [
      "r271"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "auth_ref": [
      "r490"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net number of share options (or share units) granted during the period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r272"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r84"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r267",
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r266",
      "r274",
      "r275",
      "r276",
      "r277",
      "r280",
      "r290",
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.",
        "label": "Stock-based Compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": {
     "auth_ref": [
      "r83"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": {
     "auth_ref": [
      "r79"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions": {
     "auth_ref": [
      "r77"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices.",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": {
     "auth_ref": [
      "r83"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r276"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": {
     "auth_ref": [
      "r78"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1": {
     "auth_ref": [
      "r77"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices.",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Equity Balance, shares",
        "periodEndLabel": "Equity Balance, shares",
        "periodStartLabel": "Equity Balance, shares"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r42",
      "r147"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Note 1 - Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r18",
      "r74",
      "r115",
      "r139",
      "r140",
      "r141",
      "r152",
      "r153",
      "r154",
      "r158",
      "r166",
      "r168",
      "r186",
      "r213",
      "r247",
      "r287",
      "r288",
      "r289",
      "r307",
      "r308",
      "r330",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r348",
      "r361",
      "r383",
      "r384",
      "r385"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS",
        "verboseLabel": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r152",
      "r153",
      "r154",
      "r186",
      "r368"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r3",
      "r4",
      "r74",
      "r75",
      "r270"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Common stock issued upon exercise of employee stock options, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r18",
      "r74",
      "r75"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Common stock issued upon exercise of employee stock options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockOptionPlanExpense": {
     "auth_ref": [
      "r36"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for option under share-based payment arrangement.",
        "label": "Stock option compensation expense"
       }
      }
     },
     "localname": "StockOptionPlanExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "auth_ref": [
      "r3",
      "r4",
      "r74",
      "r75"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased and retired during the period.",
        "label": "Common stock purchased and retired, shares"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "auth_ref": [
      "r3",
      "r4",
      "r74",
      "r75"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).",
        "label": "Common stock purchased and retired"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r4",
      "r7",
      "r8",
      "r51",
      "r431",
      "r456",
      "r467",
      "r496"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Total stockholders' equity",
        "totalLabel": "Total stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r92",
      "r93",
      "r95",
      "r115",
      "r116",
      "r140",
      "r152",
      "r153",
      "r154",
      "r158",
      "r166",
      "r213",
      "r247",
      "r287",
      "r288",
      "r289",
      "r307",
      "r308",
      "r330",
      "r342",
      "r343",
      "r348",
      "r361",
      "r384",
      "r385",
      "r456",
      "r467",
      "r496"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.",
        "label": "Equity Balance, value",
        "periodEndLabel": "Equity Balance, value",
        "periodStartLabel": "Equity Balance, value"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r363",
      "r364"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Note 18 - Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote18SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.",
        "label": "Note 2 - Detail of Certain Balance Sheet Accounts"
       }
      }
     },
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tables/Schedules"
       }
      }
     },
     "localname": "TableTextBlockSupplementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent": {
     "auth_ref": [
      "r494"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax liability from transition tax on accumulated earnings of controlled foreign corporation deemed repatriated pursuant to Tax Cuts and Jobs Act, classified as noncurrent.",
        "label": "Long term income tax payable (REPAT tax) (note 7)"
       }
      }
     },
     "localname": "TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Details"
       }
      }
     },
     "localname": "TextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": {
     "auth_ref": [
      "r299"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r47",
      "r48",
      "r49",
      "r187",
      "r188",
      "r189",
      "r190"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates in The Preparation of Financial Statements"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "auth_ref": [
      "r462"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "verboseLabel": "Dilutive effect of stock options"
       }
      }
     },
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r173",
      "r177"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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 shares",
        "totalLabel": "Weighted Average Number of Shares Outstanding, Diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r172",
      "r177"
     ],
     "calculation": {
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "verboseLabel": "Weighted average shares, basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20221231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 4
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.4)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r129": {
   "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/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=SL108384541-122693",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "https://asc.fasb.org/topic&trid=2122394",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e543-108305",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900988&loc=d3e1280-108306",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900988&loc=SL124452896-108306",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(1)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(2)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/subtopic&trid=2144471",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149975-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(l)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(o)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(p)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "https://asc.fasb.org/topic&trid=2235017",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=125521441&loc=d3e30755-110894",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32262-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "https://asc.fasb.org/topic&trid=2175825",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918631-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/subtopic&trid=77888251",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL122150809-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org/topic&trid=2122774",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(1)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(2)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(3)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4273-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r435": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r436": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r437": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r438": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r439": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r441": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r442": {
   "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"
  },
  "r443": {
   "Name": "Regulation S-K",
   "Number": "229",
   "Publisher": "SEC",
   "Section": "402",
   "Subsection": "w",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r444": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r445": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r446": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "210",
   "URI": "https://asc.fasb.org/topic&trid=2122208",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "270",
   "URI": "https://asc.fasb.org/topic&trid=2126967",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10149-111534",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10178-111534",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2443-110228",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org/topic&trid=2155823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(5)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568447-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568740-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4590271-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>125
<FILENAME>0001811884-23-000004-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001811884-23-000004-xbrl.zip
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
M/0I=H5&9RU)&<1FY<##FY'!I)28Z$TQRP>,Q_C-5<PSV3,C-P[.<8N*6LF9
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
M'P4]"4@6%RBPN:[,THG@#M -]0QY0<&A]^9_FAJ\F+[.Q9S+ 3@F.\"C,,:
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
M0Q$7]$B0CR.;&"Y7H6H$!P@7PB86'S*NKZ*F.[\V@FZ)4;,X4H*PN@S^!=J
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
MN$KJCA(V) 9G!85_C0%)$"2@#"JV;/CY0O%V+ A]JFD!&%#F-B,3PLV) 7I
M06+M=P+ [6FD/2QRB,+09BGSW%J:4T1)X%P%[\T<_'=60IKQYKB=INPMYE2J
M2VQQKV)NF,M0ZWSK483=C44&GP_"*NS6)9[#:IA[SRP;!6IR$A%YOL+^M=DY
M%*8R79D4#T#7H2,8%SYWFKY"<GX[-4:V!F"RX --RS!;Z5&'C0WF/F$J5ZE8
MZ:-DF_)1L0DN.2NI84"9FW'$0Q7JY0F;098J+(<2&,42KJ/Z>APK'%&MSPBX
M]C^:2[N\UMB"!)W/O(2"5QV.)C G,]($S1C;K04)&PG3PG;Q$0US\&H\QK9M
M8BP24,2]G63O$B-*'ND9M=(YR#9"Q2I__^7<\,EKC"4%)_F$](-9VO*;K6YZ
M11FE2X%B2=DC?L$UK%O8E1"6S"SR6G1Y7G_#/S\S.MD0C(WH> .8<FQ"23V
M$=R(1IIT1I$O+7%![(J8KWT8N2WDDCXAGW'@-O7L(4]:$T$-2RE.DV(P;U\B
M;:/,&U!D!?0 C@E,0-\.K[:(M ,DF02M[/1XE4ORJ$&-)-LC0;1C<&IH*A<Y
M<$VH,#.[SWN(UY'*R*8ETMF#4 PQ5<E) 'IT_2 %D<QM?>$!&$''QN:IE)1@
M@W0VQ2L;LUOAN+H[V"72U-52BRZ4.0NH'1/\93,=-678#V'QX'*',OO,JV1R
M&L^,LB<DB4Y6*LNWN\[R/?DLWPUC_SPVA@,!.*"B-B=[06D"![9W7GK#ZQ<"
MV.".] [9\MW<"M <II#M3LN(&8^#B6'%!PYEU+T)W9(\Q&Z'9G8#><$)[$2S
M3D=<91.,3(%7T. S&CULX@77[<4%>A9B%!],-:_;(DNC2^PNP;7,W@2**#,Y
MA$4WJB8#,!:-DX*E=/'*"?0'_>. 0QPU66FC(68(/86,$G\D'0OZI7:1]*$P
MPC4FK QI&.^H&V["@3,W>90\M>WA'Q(@.[QJ-,]7-=-0L]7(F>$0CE>_6B5?
M,9HX/G@U.=:NU>AR*^)3<G"T-,([U-@%L1'TT$SKE1G5]QPDH0QIV9M$B?)M
M/?;1JXOT2K"YNSWECB^Q\H+BC@S4D1I"5GTTT:MPJ15_B-/&>7]_,QA3:L0D
MN /JA6U*+;F?(0;>Z5-4@Z;1:&(:'2Z>@LF=,/B2@/.^SN/*$'E([0;00)L*
MASZ>T=GYMA##\=):R&K X=M]S1M1.DX6,H$ED>H45*T.B, 42VH:_\E@K_Z^
MB1WYD\"V=_]> 6ANO_Z[/+E-)(M_YY];GD&)#Z.\6B-XR:/$:/Z16YRT&+](
M(\F@+=)4K2S7?,!.1Z)9Z-CFB7U/X5T!MLMC+!(# P*V7 0'&LTK_M.(!J8R
ML#E?LAQ\E\">-S[\<S/@EFI8&$%\N# H%2/-::VK IR)ZP0'2@C'D%$Q>V4P
MZ<J)3MO-'#%R4KSH.;D8GJ<.%W494+OKJX+F3K%25L1+;G-]#*I"VX)*HF?>
M)"=3L$S>]/)I>0+OJY3N"JHA,MK6N5Y75GK9.5BF_]P5I;[4M5E:R%7(@MOI
MHL+'VFY4UM1"'&&>Q *,6?;.@/9A!S9%%4O%@!^XPSYI!&P_A_V>*'@2TN$1
M<?IKP(1Y2,-5YK5Z:#A$\-TJ.6%K$3HC)ZR<#U[QUX>3D2#\U<TFL\/*KAQ.
M=B5TM.[L5>).:+(N3BRC!9H )5F?G5:K J;(]-A"J"SA;07+3"67S)?Y5X6%
MZDIU$K<2XQYGV+<W<6U\G,&$5@ NRX3;5S_1LG_0/SL]>'^^RKF5KF_WFL)D
MM"I<K7]-[@ 5( G2%&<7\# ?\G$2?J#$&?-<]B:1D;RD4C1$^EU$69I0L -]
MFHJ>K24WQS3%TPMY2,):$LH;'T^.\\V&ZZSF@DIN102>JII>MNIC::3#M+[-
MN3,@9PNY=A7>9PO?9$H7I?*G[.ZY8&CU)"6YB;I0IDY7JGT;XM<QNY#>;+@@
MD.L ?\70"A/%J\7Y.6[)@9I*6+P:@>'M480F$J X!82ISH';ZG/_*5846%RP
MZI'.,T*+TL@2ZOF84B_D^DXJ?DP<6Z0.]SYD32.ZW/B1YKOD3C08=9:D4GIK
M"-S,#C9]9[GU.+8$B&;*;W7$"I5FMM;IODP2C?RFJ+.F&ZQIH6S $M20V .
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
MXHS-Z&OJ=XH-'PT5GV7&.A1*.88ZV<<N9W*=LNG"S+=ZNO9IB4)F)WCMQ&"
M+PJO=9ZI(;UG.CJT:K?M:U+'D.$V>#:V%U..7UKG<ZS%& .0++G9J&[T!=0-
M?SKX?/3Q\UD8?#X]>'.$<"UL[WX^.OSKQY/W)^_^%;P_/CSZ>'9TMJVVKVLB
M6EBY[!HVB10)[!A<KF1F4.B ^<[0C5],&"L?[M)LR.$.^9#"W)A POZ2N52I
MAPI?2,8,!1,3TQ<8F\IV&\JFHI<\T0MZZMS:(5HJ&*L*62?H>_6VIB(&H>>1
MMA@ZX=3OQ>$LMTA'GL(Q (UV:%W26/M7;#!'7T?^)X6-Z'7Z9QFP%Q@9)>=,
M0T!@\?Q-C.'BL64%4J3S1>Q"NBV5U-"F,!X@U9I@]@\!&]&00!P2'+_7.U?9
MHT'(%8% 5/#[5H,4$MBC?3:[U_"?2/U#8"YL:COOE#YS2HYS*9UHK(MQ-B#L
M%(,(.<'0KX57$8P+4H4VG>#4<CJ"5C)F0Q"HKXFRS3-4?JDDF/M$W/)6)0B
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
M490,Y(DBO(>7X!V$P:?X:XH&'(W\&&0\9D !FX64@@ ZBQ<945RZR*'N&E7
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
M]+5'C(.?8O'1*'@3SY.[YA5P>.W''M^G^(96^QX#C"(P6AY]?* 'SBZQ"/B
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
MSXO!I$C\/S"8ZMN$P?28M!&,N0*R/">LNK=4('O %6PHV*I<#T6Y\D>*(/.
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
M;XMK\0;YZ_^.-&9XK%.30D#'",K9]IEF=OYESP\&ZL$3#PJ.IOF.;,XE-JC
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
M64B<N$81H_FPP&<\*4*\LCF*FQ>.$Z?KN]1_3B46 I442W547#E8!"Z14%/
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
M$<^G>L&\*T96D!D&-CK)D9#S/8@#-YR.I<YO*I]]_=K&\P$6?T;T.!I5O;4
M?OHGH]K0NYVY<8R)6[[D!2/I^),)8-%<>BLN]1O3C '&*QM]_D*C$9F)(N"
MTVZ 6-QBE$82G\@FNUIQ8&:CI=J7L7B9CD/JQ%5_2^)0$9&^7!/YC1-9MDE*
M ?AELV[T-_+4 B5,O$"2F!0IUJ%2U(P,8^ZO:7*N\@HL\$$2-)HU*IJ=8P)2
MAP"5(2H$.Z9*S#&++&<.QBUGE,WW7B/X[N,C3>@V'>63JOTW9VO.Z!/)]DB'
M)!/5JX*'J#&O\?/NHAB7-A#6DF"HIP(C\U;.!,XIW+I6.HP0C\YQNLPV!YFQ
M@)LMHL",+FU<(JM,?X]FE.! 46Q;K!FZT6@G!1/\7:U:GY5+JLE/(QI;G>;L
MZ),YN2Q[B9QU5Z@KS2MQ*-L74^L5++RX^R6"49T?%J"KC13*:(9GET\ND'"K
M,EZ(\? 'YC!T4LV -[1)GSTJ3<?!-9/IV'UAY+)A(\832Y2_(X8\^L,+?2-C
MOGI:(?,P),3Y5#)AS,Q&\Y 7_46DPH/IM#KQP:@>(+CV 1\JG5J4S6?%^N@C
M6\+#@/_93Q3Z2 R/53HOY%-?XD=1GQ38PQ:($Y/&9@2\S/$%:4\*Q/="WB"
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
M&QF5OOZ&WJEO)[[S5FF4OG[..$:]4:# S(:;4/_=W4X@Y<VR9^FAM%.T^@Z
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
M12FI5%B;*,A2T:[AS&:^9?N\61$%+HHX>::OMWHK*WJ001]D"CH6OZ+]R0>
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
M9*I@8]Z3/6#^'1QD'HY$K:I7.TL1CTN#[Y!X)I-ZQXYN+(=Z*'GFD'@F"P?
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
M0'& C<<_)(;M^)K%=4?\):(HH>S)"]T;H]'[B#0/0G@?$"L<PS/A $AV A5
M6GKN1,C\B&JZ2M,'D.VP CC, *02?MM!:><).&Q!$?S3&%\Q9D]H =H.3PDB
M=\!)PJG@^M!"B<^&S@)_]&Q^]/Q8(AK ;N@A4D!S>+P 0QA #B$8/B8N^!OR
M?\L$1>Q2(28Z6K0O*QOIN8J-F_@*<9\W7N:.Q,) ]3X7" 6R- 33B5LAS)3(
MCE4-UIB?Q_!E8)>!_#"7)>+ZQ* A/C JJ,P'QD"#CL'(=:3U.% I5-$R9J%\
M>,_T1SW'PO]@8A]M?MARD9@0ET9'0#\HB]P!"YZ#83$-O:GK\RL1S+)DQ(@D
MP''!P['[["=L^4C&^?P3(,/ L'5]D("X37\$\ND$^' "+ 624=B[I-Y<SX:5
M ,.#7 L]K@1H&1YCV@0V,((_>]H8G0+05@^,OX'$&_[ 8NIE+>#RDHP8$>)V
MP*WM?S^+-&1!F%-=( E)T%QPD+C6G5E.W#L<S"YMP)?FP=(X"_K< H"/6$S,
M!\?X9B01+[B-Y*"6'*->][A$E7YGDJO!I,:.;5^^!SF8N! %[@"\'_!0O%C:
M@G#UL'X(W97$8[A:AI4YCRYJ=?$XAGJ9>R2XAL1#B<$G)DAO^)^/IH+[C'J=
MN[%PM7P;X[; .'AOR4U';YVAE\/]7UV1Z7C3A'D8.;*QQ7+DDY4T",1:3!RM
M/AS#7\#U?WBAA8$IQ+PG).2V#U]0\2@FCO9@^BQQWHK;G/3Z$PZH'GO,<+2H
M^0;"2"2WU(^]8_(48?-PU$JT0+"#-^.<DTN;#%!$/EQ%BVQ*E2-L7]ANG,#X
M*WS<R0/#;PLIS",<:>&*A+EIN; )QXWL3JI7E7'%V8N0N#'L!]$OK<U$QGQ#
M!_;+_>K @_?)1<5VR@ >9;_9Z=R4*Y0K0M<'-0(P^H/I?(\UD#1Z;,2&AMVC
M\("3/;<Q"@-NUD6DDU#AL!<1B(B^F!(=(L,>B8X7!TPNN)EHW;_("PFO\L/!
M*&EPJ8Z!'7V=7 %8CIDX./6<<'[H IT'.Z5>(3]STVSV03O+[=7+W%X!<WO
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
MCB4<FWJMR:J*UF+9%C%D'$NAX(KYXT0^:.Y-<+3$Q^*#R3=1TAL^@1ZX@I>
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
M.*HQIK5<1>)A(+#,B3MVR(VFCC1=<Y8%(T"SB4WUZ85F(&=/&)T7WAIU?XU
M.OMGC;%47?Y\O_DQ^[OR&>\%.\'NA%2 GR;HS"\)TUAX9X3!V+0=5/ Z?59U
MH.B4&D!E).-$G:L("?55A5V<,#0"K#C7ZG ]G>BP8N/_V$H!52JQJ.WJ['8(
M3OB/"O=G;\;XO_/9]M]F%S+GJF8X\#_O3M1ZH?C0L0D8V[$+\"^/4PC]M<!E
M<_@M3-O6T&SQ7P"DHJW9:+Z05\V9,8[!;UCP+K OSR8R#5IYJ([4"06VZ>O.
MS'2?9P29"O8ESM.)ZI!_VZT;IYK^Z2;XPH!?ORFN1?@7[1TY%_(*M+'=D>T@
MYP+E0 8 [\.><EU9)]@QT]'X;L]@ITQK*3%@V&3"10HB96%IB)E7$ZY?8%X
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
ML^W4DE!IG5H*=+\75XZ$P$' '/QR+!56K1FJM1PZ=&[?F@:"U#)U';XZQ-@
MV%69--B4I78KFUXOE1M8 3@:P$+<3/ +VMG4PE9N9H57X::"TI"ZT667>]*X
MF[_/K/7,(&SAC.+&P0^<B+*_N0I0D\CXS[N/J4/5V)D0U[QZ_D)]IA<CBZH_
M+]0I7/-)U5_5I?UY<UU*C>7UMY#7D_$?_Z%=7.O:.H$T]")XMQ73O9ELOG*=
M\:PK*X]_7H8OQZQA^.*+J3K7].6GS;?WEH48!H98A[D", ^QP?4UW%<E,PNA
M\3=5"?B+;1P0W^181,I1,,M80M><$H0K9K9_^ZC":^#"OFSNZH%4C<IP7VGV
M6#=MUZ)WTTMSCOERMJH'RD[P7IJV8S_.5(M^56TZN5>7K&XP=H:;?0S,1R=]
MP/ZX<:CP7"-,Y':C4+DU'4JZY.]_Z]85Y3,7O'<+QO!K.YE?]0)NJ6HLR4RU
MX:NP8<1DZR$+735L\CK3QC.BNL[,M+1_4=;=_ME2#0>!$+[>QODR%)@-C[H1
M.E_HYI)26R(3S:)CQ[1X9RD3ZSN)9DRT%VWB@A1B8VE<:PS/I\1=X*^PG^KS
MLT6?L=TO/"9:E*YH'T9'W[+P>!EBX>MR"Q[]5]6: -Q&U+J;LD_MOO^*DW7$
M#-8L5GYMLC9?.YPMV$[3M7%?;'9C?%L0^'/3X'LKX1\X"3+:! ]\=ZYC.[ .
MT"-\6S+:A/9V:&*U!W!78JX6@O4P\/KAH@2"B?6:5QS3U_4 >PR2= )K!/YC
M(.7PQ5OZGZD.&?-IQ 18X"=UT+9P@YD-$P]M['+):X.V)", \R]JC34;)RU1
MYY52(([VBP"1G!D'-4A#LF1U%+Q^QQ_$M'9+?]E/:XO34)1B[07B?O*B&F/.
M8YJGS?'K3HA-<=:3X["]PQV"AP.Q>9LVBZ)41FQP%"W8[RO^DU9<R;_XBXY=
M;*A P.BP3<.@.G]M-BC*!/YDI4IXSQ?*^!0H9=--YIW0%Q1JL$C-(JXS!WE,
MZ!0PX'C?H?Z+(>@"L3$S=205(X&_-?Q(J(UG0M=%RV9Y5$HA&:^@:C=//>+"
M/*[I8S\*S5EF6E.57355IY?'Y-I.K9%_Z8.B--$9R:/Z@4O#WT;6QR_OX89,
MM7<^V[&/WBNR4COXG("  J!./ML36017CRJ":S3;-3FGL4+W( @H>6 GTADI
M[T$V,<H*C(<FY+??1EX]V2A]@" M-XJ-<&UPJ? 2ET,Y8]]RTW)JQ.[M8XD8
M=,UA,).@C6PT6[5. :N-F6Q/R*??N)V9EV),E ;S."X]2V7KCK"MM(<&2&'-
MG$2E$%+X(O4D =CB)<$:P^<1;5WC66'(6;>^L;4 T\%,!0/9&5T]CMIK4'?K
MM;9,+@C[[W;LL6@%/OBUT'!ZKVF1,?I!>APA<8R*O.QBA1&"A]>SEBWB<SOE
MMS[*@L8B1)7'XWM%5:-1:Z"HZG3 MTDCJE)*)"^B51DK(%4PHC.T;9=.KE@D
MC4L&SOWA<$^P:UM4_N>C,_@+99)]<<G"M^QK8D1)\CK T[%2#L--,?S_%C8R
MDP#9&"NL^&H]#.^$8_"5Y5*$Y5)@?J8R7$[:< DAZTB,%RZAO*0<2XL<*J'.
MP*9)[2D%NYNIO$G1RZVR;O(3$HSE0I@0+"F"LK%2-9M@XBG[TQ!5?K3*CQ[
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
M^+A]%#[]N::@)S>0RBC1-R;>>QQ:<I3?P?+-^(KE5:1[%IZ![ZTZJ%4,KGG
M9#'9"2KXFW_N)* 'ZUPR]H(O;U$PS0C5C0"44J\%\2?X"C+<?[YKOXMJJ"GW
M6BQH]7FA3A"#%SJ=.I\V_L8L<.^/J4-V;P3/RK?V6$,K8[Q-1,_41I/UZ3OD
M!3:C&7-M,M'IYM9T#[QQV8;)MAK%DG7_!K=8O*IL&QQ[5&RK7E/2L4Y4>.6D
M]WC7=-@#V7]?Y\0$<N$P"V_TY3909;]]''WY3?NR7N4*+D[Z#I")Q9"0+HG"
M6DEF*(S$M;M,RBPEV^K48ND\=_LM.:34ZMF8(0?.T?*]JH/$?Z:K.CA]<V^9
M4\VY,6T[DZ9';:G923Y#+R=[*49;:#&JO#!:"NG\U)0ZW6YR6F8J \^+G$+:
M7\E2IQ=)SB.U H4IP^-8YTF:<96=5J[M?%,4E, , Z_O:A6N9&Y?W+D[96'Q
M$G%RR1BV7'Q9.O8KMR;^<S-;Q)-#$D\@Q++,BE72!YML&^5OMRP[=C=EV2+[
M;I438YFC*(>+?R-9Q;;4;F0PY;2TOEBQRC)?B"C"()+%(-PRNWCGA!)9&$I:
M63B(.6D?EI7'VDLZG=*QLU4KD&70KO"QBCOQX]4I;(%HU?@S(Y44V8;@K"*
MIP(,08I(21$;+K&R.7-P"-(_T>.BC]0G\FO>N"M4B ]4[-"^-RR;MU"6G9,4
MW?ZA<I).%T/BO*A$D\4K+^HT8"3.S>K$:H%13C<K@5F4=\RN-&'XX\Q2ERE6
M?R([>*3&ZV"KS/^$8_D[3WM$%DG9$__:I <96Y5-6MJ0;"P\*&+Q(&<PP+[,
M OH4(2&+A$2]%J\?4SEMQ5WZPSM"5FH#\C 4>/Y#UJHBTF>H+-S<Z2M:]$=&
M/RL3O @2BQ;E,0+<XCL6E7NT.'RW/V8]HX >]Y9IP(]CUB?#[AL3/FS0'AKA
M:S1CK"WT<DU([:PW#GB@>-*.K%9-UE]-3!N!A/MZ#R\P7O)_9[6'X?'F.'LQ
M-!R<3=GD@Q@MMDWZDFBVC6.0U-5^L2"<:DULWGK%&\@X4U_8%%!L@V)IJHX-
M6U7,]1ML9NL8YZ@#=5@3@:EFJ( 4N&AA\GXT;"2=JSOA>1K81,"TR%BU9V2*
M<S(D_)4]T\"QL8L%[WJ$MU]]Y8VASRE8S6\1HEPW>YVK]7X:)6/91W=DT[]<
MH-P .]24B@^[ZWRX6BKA:RV@?T>8%2B.[63H1#QMSVQ981;P[W!V9>U_[-6+
M4/8BP$;@-SW/>/L&?_3MSN^S03"<P\+-C?PU:39'^BOVX0#&P+]M/\[K6V6Z
M^L0?D>MWJ.+=.BW6M)#WE//[@>U:3HT([EJ4@,D:C5ZOW?;;_136]JA1M3TJ
M8=LCE6B3_WRG*AW<%_7PPPG#I\%WTEN70Y>_]V^_#1[)\);T;Z_(U?"Q_^UA
M,/@^N'UZ)'\.GWXG_<O+NQ^W3WW\P]VM_^OP]AO[PO7PMG][.>S?X%<O;^X>
M?SP,5B<?#EOAS]'$O]YK3<F,\1[ORP&?@B@U:*U8_>,3H9N*"/T-*MS=/CW<
MW3RR+;U_N+L<7,$^/B;<R,3O.>!*P!M4O^K$R;!LF3KO<PPVVYA.X,^)YCJ_
M1>6.=Y*:T9GUH?NN&B!U6),[T 0XLQ?L&]:P$/4.M=$?T>R9QF:/3PAVJ'.\
M+G7J!!0!JA[6+M\ ,3_F;\";$JZDOT47V##/>)8(LP6GS!#TE,0C'?MCS@:_
MO)GI?5Z_J?0:3?+@PEJ4AGJAM-[3#[X&6YN]_=4$2Y%O)O:I-"VTXH)Y:;ZF
M1)7;=R>:@ZIOKCD.I=*J]30NV4;YX%M[.Y:/5V-C_0*8(Q9!KWCG+3YDFU%W
M97"P1EBL,E8#C0XOX;?\@I<'K<2(&QBX^!GN04BEC\/@7*S 2;ZN9MZKCO]
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
M\76IJZ_;$:*CE/#U(Y7PBAS'\CE]",L,PO4NB/@YRG< *]88TU\7L$/[!?R
ME?<RBZ;_;%%NV_#&1<&!OKHB$:77J_.RY/^F+^ NW]10'QBO5-?_XR!&*!KO
MC5.3\4#F&+;.&0OY-SE$D2]BV4!^.;FT.OE-OJM+HK087W0EM(=R9Z32:I34
M'%8<(\6PELZ 7QKX<Z,>^M.%W+C@?XS!+S_ UR#?Z01K@+%]#)Y7L27T"VH2
M.__B\0JEME<CQ\*JP;DU_X_P!: ,,MN]KAK'I66:)ZAEFI66B7(ED&L:<L-W
MM<&CZ/7B.!-[V$7)@UU*JTM:QZM+6J>D2]!T^B=:3/]JQ8#THSN'YR\Q&A0^
M&;GS*&KYQ/H3IN6GF@[W.3$A7C^/7($'UGH<Z8N=6;6)IEH:CUY&2.,CDJCB
M(%P44F/EM8X/DHU_Q0'EI6G87HYI9^GC9G<IOW31(2HO9[2#.D]LT,2 FVPE
M=HKO>GVA4MQANS$QJA%Q-TQQ)Q2EE>+*41R<1XQK!<+Z87+BUK0<["'?MVW7
M4M%VOM'F&NL<=TWG8ZR1^@9;L_#_'%]ZV+O[N[W!.W&6S?DXQ0U$KN4P/J[4
M>KI\I'*2:KVAQ%/KU'+8T7B_M>WEX(XL0GU.5RV&FUA2K-I!KYK%CFZH#;F^
MOQMJ2;74]2EJ*4!W2;140<<L5NP02WMMLD-4^^4RL4D)E( 0_BF*3>HY*X&"
MN:$N1CDH7?*C]EB[Y"?..I^51DMF':W['OAW=<SNR>U*1Y1*1]0K'>%Q1:8Z
MHB3<4JF*E&F48](4?,;6ZOC?JK'ZSG/;$:%FTN<GLU==_%?M_WW?/%8'=OY8
MAQ]Q&AIX7I<,?CG4&ZWRU;4U-L0@:)=/;E3CV<79 ^^U__WZ<//ADW>R\;WV
M <_%K>;:?55U%F=XG%&*ZWZO;5X1.C?EU07/*8O@81S3HC-<Q0OU/F WB+[#
M)0['NX;-Q6M?(B]]#)UC]Q.D@[]<S5GRKO3OX>L6U=DW;_E9+M-K1Q:ZYZXC
M8!)QU.=GOJ$3ZJB:7JMT9U[2H"0E"&G%Q"6;NW"/7,9ZZZF\INQ*=52D'/ >
M:[K KF)S0) 3$7?\%"0R^009'LO(O*.+'F^S"_UCQQ].0$V]-8<V3L<=OJ9V
ML\UF_J8X;?D?X>E4;':&RNV!L9_(-JTE68 \9.UG+0O'@+"+@S.H(%Y&_A'P
ML)W"CA>#'SO^<'BOF[43G;T4;[AVHZ;LG?F,><1T]TW7NA6Q@Q5X@G2STB,X
MV[[2BILS2[P>)5:@":<K3<AVD]52>M^<:[:M\6N"^/5NY2@WDY[:S7RSZLDW
M:V.7NI&;A%8%'5DN5FHH#59K5-Y-:90/08U"-NNM$]W^1C63;Q2KS8SJ)N1M
MW=7@&D16/QI:WU5K/"/U3HFWJI5FJQ316]7AU7Z)=XH93!I+Y'VZX%NU<_>$
MW!]W<//NC<V[^WUB$@S/C/TV03N9]GH[F>N[A^^<QQ]_?/_>?_A'HL8QV<"O
MH? ;L4%,T0T8_$OY5:047:;:59>I\G:9:B0>U[27V7:VR!A]>1Q^N^T_%3'
M-L:LLW"4+]039A4G\")_(,U!X2NM]Y,/000P>AZLM-E9#R=-3EQ]25AKFLE:
M=R=N_>-\4SX\ V=2C.A,U:>H;_!&K->>=P'[9KT#NF*BLB):3Y?*]<3:(:78
M7R?ZCZ?^[^3[X&IXV;_!^<57/RZQ;]?P]O)(N@VG%. *V#-,*G]=?HH6WTJ]
MO<+B86U+/MH?MT^($4]6"&>9M85N/3;;Q[TQ3*?8[J-Y"Z*8$F<E4E#<L+FC
MGM 84=U\]:7)*@:] *F"=6$@=#R!L]T3E$U\-?Q&G^J8+P'T >9=_)G*Y1%)
M9:)P( HXE4$@^#;:0<Q.D-O_2\6G_UXC7RFU@WY%XI>L=%8+WGBF%)S1."+:
ME)JH6[(T%[)N/;4BK&C"#BS#=LBW&OG=7%(K%ZJN/[(BJ6B2?L6<OZ62?HW<
MJTN#YD+4S8=69!5-UGO5U<E=C3QHXYEFV-E1M17N";SQU-UD+2R&TZEB."6,
MX23^XL>)]H+)TI$Y6>)_9\Y<__+__C]02P,$%     @ KH)[5AP>CN*X%0
MT@X! !$   !U=&UD+3(P,C(Q,C,Q+GAS9.T]77/;.)+/.[\"EX=S4F79EATG
MMB^9+5F6,]YU+*\ES^S<U=441$(2;BA2 4G;VE]_#9 4*8D /P0YS!WR$ID
MNAM$L]%?:'SZZ\O,04^$^=1S/^^U#X[V$'$MSZ;NY/,>];W6V=GI>:N]]]>?
M?_KT;ZT6NF>>'5K$1J,%ZEU]Z3SX(0T(\KUQ\(P9V4<=^PF[O$/7F\W#@#!T
MX[K>$PX @;\/?U@'^] V7S ZF0;H;?<=.CXZ.FL='QV?H/^ZO__GW\_OKFY/
M_O:?O_UZU?GU>GAZ]-\'Z/GY^8#8$\P$M@/+FZ%6"RCRK2F9801S</T+BXP_
M[TV#8'YQ>/@R8LZ!3ZR#B?=T" V' /YX+^JX[,2A/I\<>&P"S4?MPW]^O1T(
M@'L)1"]T [:00(T:LY O0K\UP7B^'##&_DC CQM6.OLLV.P(#U<ZC:FS0F\8
MX.F,V/P5B'[MXY-VTM<F-)]4:!"=O[U/NKXXU/TS[T6TS\_/#T7KLBM LH-5
MP/$K.SV,&O=0@-F$!'=X1OPYMDAYD@/6"A9SLKHH2QS0?,B;^;BCUE&[=;P<
MN3&!+&$GA[QYA'V2G055]*>N'W"^!?9WR(RXP;7'9E=DC$,'YOXMQ X=4V+O
M(1P$C(Z L5<ZA&[:Y>>?_O() \\'@N?A+_AS/J?NV..___*)DW:1T/= QDB\
M[@L^S\]O?#J;.^1-_&S*@*??A,',;B5O[H\Y(P<PIZ0+\QP8)IT7;SZ$(3Y,
M2=!SFR).0&!F;4#98 < XLT)"RCQER_WS:&6&=ED7'5&,(2ZM*'S<?"HZGQ@
M"'$:.!4+.U6G D.LT-DMKW$00Y@"XC\>'VY6P.7)FX@T:K,_!O 9B _\$;I]
M)38%>J--+?!A<^K"+N4YU(9.-ORVB>L3>SG&[X^[V)]>.][S&T3MSV^T0A03
MC&>8,OC/1_#OXQ%JH>4@^/TX[/R"OO:N;KJ=6W3_T+]Z[ X'L+W>=0]0MW\W
MZ-_>7'6&O2O^QU7O;@"_!D-X\+5W-QR@_C7J=@:_H.O;_F^?#M<19L@(@=:^
M^[/XO2Y%XH%Q%\F@U0^UU) U!MH<$S])F$ /7UQ1WW(\/V3DS@O(67\N%)9T
ME27M\C5KG_(U2X?!'WPD.H,?\6CSZG->??NTZU-X%&VS0$EGPHA@^_N065,0
M!6E_V?)4@B%?PN/C_"5LG\*O[N &95&@)0Z4(,D,-4N=L]3O[R,YO^BX=N];
M2.=BA>)G]PYV@VS#%0DP=:2?9#U@\L7_>):_^.^1L(($6(1=&RUA7BR?[R.!
M<+49O8V1OC/,D/?=MQ_($W%#XE\NXNVS"_O=Q&-\11_(!(CCYID=.J0__N)X
M(^Q(1Q3PRDYPR5GI7"9'VO K@8LN%[%U': $- )J4$3.!4H(0OTQBDA2CS7L
MIF2W03B;8;;HCP=TXH+E9G$)80FKGKJ3>U#9+- _APR[?D1J?PPF'X'.W9 Q
MXO+6I)>4S[0BD3/8^[:$P;C6&)& O#'*$(%2*E""X )E".']8U)02@MZFW0V
M7+4%5]TS"J\3;"^N_B_M R!<$T,5PU<H/1_U\%)* ^^^0H7A(C47'4>2&]8.
ME E,W4OL<-_48$I(LMA^NCW!$Q82N_<RYZ:E/\0C1\Y .D KY)!$9SKF3P5B
MP0L1:A3C1@)YPD1^9J.#OC$%*"$!O8V(,(R3QS@?NMYL1@/A6 #5 3XZ_E%&
MHEO&$<HQ"O/V)'^I/W#3*(4H5. 5F&;AME9^^Z'_.IIO&40*M5?"(O75WO[C
MP.B\];GLXXT+W<@0OY",D.>!.L^-?)'+#K&\O20N3#50[RG;@I5ST*F$@S["
MCP@F$EA7]XP4,_\K[9=L(NAMC/^=V4U4['+^A7@3AN=3:MVX8X_-!#D9NSBO
MN4#^; 53(6J.\AGE''ZD(%$&YIH]G=O'B),:XN2*C F8BS8\[O@^$4K%+<4C
MZE >T"G@CZU@ROGC3.*!40N2!*T0'A%BH<]D4!L6J<$BO?&86 %](LO6!]C
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
MY$%D<WIZ<GIVLDHMLZO'0N:)B(>3CQ\_'@6_)A*+S!R^3)W,^_PH_'$],2[
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
MH;IV5B@]D=CA_-MOO_W ?\T59I4Y\:%TONYO/H@?CPN[-;H<+/O[G_S';\/
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
M#_UA2-YH;+D^=:ZLT&>*1+4\@9+":'JW6ATP\T]:,TFK-@R3]2TO,;HUFW_
M/&HW011=L]9<,AB[_HXIE,2<!GYT05=!2'/IKZ[>V*Z)6=?UK7 _C^DF:O5B
M[5.BGOQLO5H#=\?%:0V?N YD"SO<" [S!6<P_RT&G?3NH4RP2.WQH0:SC+0;
MZ]NTU8GN^A][0S-1-A$,*3VBD7NR%W*A*E:AB8&T0FWL4<,QJ9E22,>":FK;
MN\W.@T.@&5VYMBM[QRD\J'NA)==-RZ*+GL:B2VZ%I@580Q?U2I4V=1S6X]$E
M^W,1+H/7XE%674D\*9I4.NJT0#"A)75/"-0.)+E0OR$84K! F?.LO@-Z10E[
M'<\=ROY<N<)Y4CB92;$B*X]'3(,F&G #28J/121^A<9AI\$6902I=$MOL0F<
MLQG<?AYLRA9T;B")4Z@NAXE9J)6,<T85]9D7L%#;Y'SP0K.U,8$,KDUY=$1*
MTLWI:&@QNKZ^+"Y$H4$#7#P"\%_PVC/.=9((T!:$H*$!+2,.'!K9H<OY@T2
M04TS3RVJH,&:QR$$*H@T]:1LQOZ R"I])V&'&D<XZ2JV1L-)UCM0X$OAI)+I
M0#(ETD.=I#S78T)230Q!M4:;:CBPJ83(T G +W=1S/0([ZE(I1D]N]M:2@:U
M9S6F V_6$(/O(S*&5!0YDF4F(T,K"]6DTU;LQ$%P61F;,W.]'?NN=,HT=?[&
M5-_(.1JZUH;%+K(5&#0WQGCE3R'9]"R4FI!,"XTW$@/8@=7\%,CC=;@P" *E
MW",6S!#!B24)!-^C84,::;#B(->!__&&?1J2E]/QPHJD2[1V=?0RQ)LT'G!@
M<[E]#V4=[6T8P(=F6TFSH^0RY:FA@<8,WR8C*0U:)1SW2Y-1Z:)2_!5-E:'/
M"45"EF$(9"0-+O%DC.5L<K%S/?Y6\)WTS_D&[NNY$>O]E=2>Q<[ K33$ "FM
MG8<Y'3[D91F"J4Z6*4X_[3MO8 H($=MT2-/*-M(0\00,J+[M>L+!N2431(<J
M]1%"=&^/+EZ(@P:YLQL"2I!C+0R#N0X3REDBD)@89E"X:Y_?3?EQ$N'!_5X]
MUW9IU A_M8?10&^E(SZ$GIR1A]UF YD,86F<22>9>)+*-PW1K6Q5PF[[#ATF
M\*<<R-\0_5GW!#HLJ%D;+ A-@Y5"DTO10HH],%#DV(J&(778''SU!HSI%$[8
MN>?9(6T'#6TW*MV4=JD!'W?66EL,X.!=_41]NG)C8N5B'2#S%TT$F7[LU<%D
MY?"V;CT\' $VL/V'])FI=EA4\,NB(&0;?E^0L-K[96CY$81^!SY;@?-/XE0^
M.YZ[I?%BQ=HIP7I/PK10;/=F ]0%D)!.[$0\B3.)Q.KC7'Q\6S2<NM6:Q*?\
M')W[Z<,?__D5$(%8GI=X,)@VN_1K[4JJ\WZ'WS#<Z)R$J6&A5BB$9CNOE(EB
M+7AXN%H^& ;(ZF:62+OEMNW)=W6Z<UQ6SZVUJ4K-F_\5XY=:(075PZ(Z O49
MTL^25N;]2V7&[#G]\C5;UEL>Y ZZ9M\4'3SJ2NI(P2R1CB)E2),PB[I%BEM>
MNT%8:&A_52+F.O-W=S"]"?PU=_D0<\O<O_+77CE[4VU1C'MIDWP,$J#N,X\[
M\5B\=EB4)/5K<B[5H7Y+W])-P%9;<)9E;>! !Y9;=0V=L*_XVNS(N]1A_S7)
MK;3)CGFO4B4<#I=*]ZF8TDU<RTYW\7,00I:V1Y_9,;?M!$+MP]8S<Y'-W>,F
MV]/"M>_1(Q=T[?H^O_/E3 _GLB-=DU34DKS7E,;HN'&IRN:;):9-<_I"2M_D
MU";G23XY]NXH.8,</V/(6#>Y)RL3!YNBHR%IPCNV_G&[I2'_Z\;=2.-N>Q79
M3^)PO?88<2[A&B4A*EPG$R>,GLVOECF\!SSJC ^3TR@TE]<;)Z:90*$ZB$J-
M0&&4AO01,W;TRC_MN+$:/HEV2!WQ=9B;8"_V69%D_N4IG8^=-;-IH]4[$".G
MGQ>?AI;K>ML=)47/Z06IFRK?BJ#<I.PLG6EHR+CIO0?47GBZP-?Y(),[KH1[
M,4R3#]D(3;[X87Y5 ''NAZYCH%PW*FSR_NIF>CLS!%WEMJ5PD!BN^RKE\?W#
M^ZGO7%J^Y5B5?L*R4I@528U43"]"M=SO5U2L:=6!5+;E6J/0AM-:2M28*K^
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
M:LU;RFBK$U>#)DUFKB8(ZDQ=\9>G:$GH7J4S]H\?8)MO.H_/1_?/7O4$T8?
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
M3PX/*&H*%2#A[F<#:&*O"NR?U*2(1T;PQ+D-+!J,-$5.E2J<=\R>067#X8J
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
MYOP[]*--97=$$ LO+N(K5='<,M4JM]^EK,6K 7@9QA<-[$"HZ=.7:FML[=I
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
MLN-U<5EG*0 OTK%OGEBP5S8**+9]D"M*1?0%4ZQ1WT&,3UL/V<0EJ^VYB^R
M<M=YA>CVGD9?PB2L5$]OM!5U[SO4\06QA@/)"Z]00&]0B]KT'<5@SCMQKAD.
M?,[WF7B8U</>RO*<F<VXR&>?$,P/=6KKC7LM''3:AC8=X!DK3T42Z;A@6J5;
M<W_!P7H>^@'9('K^8KLAW^K(PV?L/^?.>@%LTZ0E38Q7ZG99 S9"2.[VZ!E=
M7(2^CJ%%%;'TCRNJ:#$%%:>@XA14G(**4U"QKV!!*(D2A./[^,KAQ(PB>H2W
MIECB%$N<8HE:@3G%$J=8XA1+G&*)4RQQBB5.L<0IEM@VEGB2L 8_!,.<L^N0
MVFO+1_S*6QQ$R>6[#1*J/V^4Z)^Z>%-8#V8,LK7<8'OI,<@9K!YY1/R^Q](E
M5-7E#0CV2935*.E6)D'+XL'%JPA&P!SBL@:8 E!2/CD:C&D_G#/*)%N$3I&'
MECB(3L]W2Z[21XS"IU*))@H%13UC8'D\&P/KT?@A3+,M)&A2CC)%48^FVVRA
MV8:$'J17RT8-8("VL&GBE'U[A9C3T3$Y%!H=A0X*,APN 0#GLKC[CQ:IAQ"!
M<4'HM45_Y1])P.^F6"S3]Y@@$E&W!8W';"- >C]6*Q9H%K*9''G +FIJ(; %
M,RT$ ]+[V=RJ+C-S_LTFWE'$A42_IK>DW:#?0GX7^OD3HML+_!2G*8RR<RV\
M^9JG+KKTYM>7389=^X>:V0\ZA1T.>ATQ2):(LE:N8J. *D?Z!HCZ*"HYO.>6
MAVA.?.@E(RBH<1^0J:?'54JI<W&#;.+9V,71HQ;+O,17V'K@U]CAGMRKVD\?
MTP^K+>SA.FP=C_L;GO!NL;SW471"78D"BG6,8X.2TAH%P,1=>SL/*0=B%^=?
M+"^P9[$Q8;G7Q,=<\G,^\GS\X+):BF3>HGGCC-X&2HT2Q\N5:F1U\VVIU3HD
M(.H7]@9K8J1,/7/ME%5>HVSK@+3U#&2P6;3)0Y/X>:+)VT[8SU804O9O+^YP
MK2>/Z0K7$G1R@T%1I3BF(8&S$'UAHMX](_>)[T(*UM!VGL;-&4 >S:'2R*]6
M58('?>Z>24LSIZT<D'5WP&CD#->2G3T3.KI5OYU#,VP,CD9>=!WI+TA8W W;
MN)D#,VP,C48N=RWA\5,7(S9JYM#L&D&CT<9G5>%GRP#1CHR;;^N +%P 2:-+
M<U0U:&G90S)FU;TQ^MCOWG/8G)/O,$+.^0L_9B'=IM6L+=,M"X,D-O./-9:%
M/\:S?P^MK" I.P7%= F*?1P_0@E=:QG]R#>X0!>+U6[&./.I0 .$(]YK9]BS
MA&%N& U<(VJK+AHH-&.Z8870 (8=?#_L=W,?LZ_VVW57;%K-_8#T?,Z^?+=1
M[ 8/'B6(W4#.*88-BCJE)>IDIV:V0T9;0_R9_5N(XZT @HPB:G4T.1!:.LVK
MJ/&HH O3BJC6&@?X6AU)R0Y#Y1V9$WX4D">+X/E^+CT;3"\ E30(<5!9C58U
MIAP"HT%_@?GE:"Z_L>>20>>M^!ZP^.Z>J&.Q&3PTQ5*JJHEY2ATK:R(U#/IF
MI=T$+MJ%SR\3M]W09T+=WY8'_06A%VAC\UN@+YC/N,9H[N+'VZW/=!3P6'=M
MZVS/CE'4Y'3R]^<6Y0KY;/(7W?N]3W):_.74\K$]\YPS[(9L MGMC*N]'*-,
MP-J+/<W'0%&O*5GBX(KXT L[4\" >5A6'8UV\A0"0E]"[L MEE&?]1=AX+-W
M%L]B$_5?P!#UVC# 5C5!@<F\Y@DV]K@',MH9-J'6"5^55-\?_*O3*11:,[5[
MJ #5V5%'#3O*8@DA4(\UP%9,[1@R8#3:2B1T6 #3B<L:8"! 27CGCU'CLJA=
MTN\4C9B6-M",.T7AO3UM#0E.R9(?^/\]6#[ZVQ__%U!+ P04    " "N@GM6
MJM8SG2<%  "!(@  #P   '5T;61?97@Q,'HU+FAT;>U:67/;-A!^SZ_83M+$
MFM%!TI8O*9K1025.8TLC,VG33A] $A(Q(0$. %I6?WT7E.S(]:7+BM/6,Q))
M"\!^^^TNL NP_MX[_=AX4?^I5(*^%&$6T!#\";B==\V!RIBFH,10CXFD16B&
M%X2;!FV1I)FF$DXX%Q=$,\%5$1^"<A%_2R>2C2(-.^T".)9U6'(L9Q?^Z/=_
M^^7HK/-Q]\/OOW[N-#]WO:KU9QG&XW&9AB,B<VGE0"10*B&B]VZS@Y?*[-KJ
M=;[@I7/RN5'O XG9B+^=BE%Z$M.W;X:"ZV/;2C5X+*$*SN@8!B(AO)80.6+\
MV'K3>,U]E=96^ZZW&NYEQ'RFP;;*U7JEU:A7^@CI"DU N:%D"3@XY/FGT]/F
MX N((?2ZW9.V.P#"0^B<#-RVUQM NW?:=\_.F]Y)[PSF92ZM]38[>A$%-TEC
M,4F0%&B.)*7Y'>,P(U'! ;PF25J#0Z.\CI@"25,AL9'"1PJ"QQ,82Z8UY1"@
M5$D"G9$8[Y.4<I6['1 I"1]-1S>]C&L2/H&(*!@S'8%Y0 %&8H=)&F@A5<ZQ
M>TF#3+,+"KWAD 54JC)LGZI.)AD?@0F1XKP"KU\>.O9!34$[8G0X!]9 [V.?
M@*7(19=Q#$F&=S,E8.>N0<R-8]7.2$+O4CS_V:X5D$V,]R"B819C0RW0) $U
M+<V@0Q''8FS0WK# 4&+(S@D]OL&BUVQ]=&>$^$*&5)8"'(>DBAY?W=3&+-01
M,F7]W*A[ _QTX&(:5%JDL\[3-HZ]G^K&EFQ3[_;.O*L.,_"^T%HDQW9ZB1-C
MS$)X:>5_;QKM>5*:W]RR7C'#S *WXG4>4L_>+5?7TN^Q\0^J:PIX0@+S9>+\
MVON:B<CN8J^"'O+B#C?Q1^A/0KY]V6Z[;K>[MMNTB,)@(#&1DWNY?4CF4]CR
M07DKV?;5+%KMZGX1K8"+MMLKU."5O6M-G_O=7F$!]M=E>\^R=[X6("$ZB*93
M#$[XS,_RW.('CAU8/,,X*!XY2'A"+EF2)8N0OFF7/\?ET<Q>ME.%-";\'G/
MCEWX%X?$$B:[_5VUEC/ANB8[)9S,TA]?\.Q'#I4QBV/P*804\^B$<5P#B(8)
M);)$>?@=PJ%/-424Q)A%^I33H<DA_W?]9^/Z79(P+!$PI64!B1<ST0\2!2'%
M5#($DUUG.L.DG%Y@A"OX#D'@27)!8Z"7)KFE6!"PQ,^DFDXY.\Y_/AJJ\VE3
M=8L9TS*>^"P]_9: *5.5O&1\_IL<CU;N<]L-FRBKU]1MPX6XO;^_@LFW7U%7
M#Z]@KKAGN!QD5W*EX;V84+D,ROW=+6)L$>D32:!/)IP^8RX_$#-.BU(E^#.&
MV2=9# -FZB2S0&]BNV*UX#(;%BNMCFL3=K6)X!P5]RQK)0QK1L &$#P'%M;'
M<$OX(NG':O[V;1\9)^K$[--3V$Z [A6=!PC>H%N58(DL:&VU2ML7L[W9J9F%
M3,]Y2CLB3&*3[Q,G#WO0$TY4CWK4DZI]OX=M3>S3S4>S2M6=5:J#A2O5C>KJ
M5+<R,^TM*&;]2%EPIEU;4/7VJK7E4G#'+MPH^;&FGQZW=GN0$JF9.7/5YF0Z
M+\P4YJ?@$\6PP%,@\%\2*.K._)@"S8^_,7<MWPND_6Z*Y;[,T[0L#?--KN-_
M@$:LSDVLKM(L07!A7I""OK%KHPQDGT8D'IJS\$_>:0?\3#%.U?6AMS=W>'Z]
MR:/R<_-K77(VPNNR=B@DD$Q'0K*_S&LCLQ&OI99O9L/FW0V\S-[DJ$S?//D;
M4$L#!!0    ( *Z">U8[1-(\S0(   H4   -    =71M9%]E>#(Q+FAT;>U8
M84_;,!#]OE]Q$QIL$DU"&1*TH5*:I% H;=6F;&/:!R=V@Z7$CAR'TOWZ.4V*
M-D$'5(P&:952)XY]]WSOGNN>>>I=]%KOS/>U&@P%QUE ,/AS<)T3:Y1F5!)(
M^53.D""[8.$;Q/(!-H^33!(!7<;X#9*4LW17/03:KGJ7S 4-KR5\M#]!W3 .
M:W6CO@_?A\.OYT=]I[=_=O7ETK$N.]Z!\4.#V6RF$1PBL?"F!3R&6DTA.G4M
M1S5ZV;8'SC?5.-W+ECD$%-&0'1=N4CF/R/'.E#/9V#,2"1Z-20I],H,1CQ%K
MQDB$E#6,G=8V\].DN=ZWV6ZYM]?4IQ+J>Z;>;IGZ4 %:8@D(RP/R###*X'C2
M'G>=KC7JNF/@4YAXUBE<N$[7MGHP' V<B>V-56#[MO82'LN%O* 5SVKWW'*R
MSP4FHA;P*$))2AK+F^:,8GFMK!H?6J8W4I<#-X5SR9-R<CGF<%\[2F0S01A3
M%M8B,I6- ^WS;UT+SHN^/!&>$^_.H.\M)Y1@?2XECQM[R:U*\XABV#(6GYW6
M./-3BBD2<^BCF)AZ/KMD0/><1U=Q4(UEG&6"II@&N43S#!N($#'Z<R'9M[JF
M=I921M)T!3&ZRK%W#R2:'ZJ,Y.)XR[9=M]-YO<2;2'0-%T2Q@*)RDY4I]"36
M5H;^4:S_C(HV$7&&4061/1C&)_#^:CS;/,IBGZ([D-LH3IHPSM0 ]5C\0%9
M;0-!PES]&P>R+J,;4[+E!UPD2\@5U$A'N:7_U;M6Z$@<J%,NG B>)="CL3J-
MXBJ(A.5 X%Q9P3RN * _ E5EM2Z!/L;E!D7Q-&XWN)^L#&%E]&IEJ13*/X*A
MG.>GJ@I(Y Y3!;#<B]-;D&Q?N]+^RN7F))'W71$4(59%=.NPO>$_0C9B"*.J
M'(X+-!4 LF3R'J""1GU1>ED4<NX9M4\*NRN*-GI>1%--65+3BQ+@+U!+ P04
M    " "N@GM60JSW=WX"   Q!@  #P   '5T;61?97@R,WHQ+FAT;:U5;6^;
M,!#^OE]QTZ2FE7A+T-0VH4@)D(0U(2A)V[UH'QPPB5>PD3%-^?<SA$KMM*EO
M\P>?K#///>=[[K"FZ_G,_F!]5%4(.8O+",>PJ<!S)\-E41*!H6")V"..%1C&
M=XC6%QR6Y:7 ''Q*V1T2A-%"D8=(4Z0OKSC9[@0<.R?0,XPSM6?T3/@1AE\O
MSP-W9G[Y?G/M#J_'Z\_&3PWV^[V&XRWB330M8AFHJF0T]8:N-'IK1POWFS2N
M?VU;(:"4;.G%(4PAJA1?=!)&1;]KY +6),,%!'@/2Y8A.L@0WQ+:-SKV$=T4
M^>!MNS6RO?L=V1 !/5/K6OK(MO104GI@$V%:/\FKZ;P711)S%L'*"]:P&(,?
MN%[HR4T>E][$7ZV]I>=">#6:^0X,'6=Q%:S]8 )C?SE_G,0[>?\J"T&2ZN4P
M@XBEC/<_&<T:;%!TN^6LI+':.L;-ZM@W&"*I+_DN(!B('09"(\9SQAOAU6KE
M.,$<2VE*%RSQEA2B=:X$$CBKOPV8!J9IJMWS<],\A6/I'#.>P4H].P&6P)5
M.YCCF$0H;5M!M**NW:SD@,I85I]C&5I +(%CF",>[:!WJD M<@4D:LVP)LQ2
M<KB3$"K;ADC8XH%-\4Q$!?8[(H';6"C/L6R0.CNQ(P4@2DOY3>M]R*1KJ)?/
M99(PWA"L)!Y@&DMZ+HYPMI&:,[M-%CWMU9)X<2V?*N?_XUOCA=1]B[MA/,9<
MW3 A6-;OYO?0U 1:F(ZM%SI,444)AB.4Y8-FKB%:67H-\Y;.^#O:JV%6*!4P
M0[<8'"(JI:GH/V&<R0'I\4AX_ SU335!&4FK_A\A._93_3Y)7*]GK33MY-4/
M?XK?4$L#!!0    ( *Z">U:#&:[:P0(  .P'   /    =71M9%]E>#(S>C(N
M:'1MU55K;]HP%/V^7W'W9;02@3RV%=J E)) LT*(@'8O39-)#/%$[,AQ2MFO
MWS4/K9NT3455I7V)XUS?XW.=<WS=J]EHV'WAOC0,B*5(JX2F,-] X ^\25DQ
M1:$4"[4FDM;!2^\(UPMZ(B\J126$G(L[HIC@91TG2:..L6(CV3)3<-([!=LT
M6X9MV@Y\CN,/U^W('SKO/KV_];W;_NR-^:4!Z_6Z0=,ED=O=&HG(P3"0T57@
M^3@T]^/EV/^(@Q_>=MT8R(HM>6>W3:DV*]JI+017YY99*)BQG)80T35,1$[X
M14[DDO%SL]9]Q>=E<7'<T[WL!O<9FS,%MM.PW>9EUVW&2.G )J%<'\DCZ"!D
M;QQ-@V@&XSZ$D1_$ 3YP.@D&X7063 (?XIO+8=@#K]<;WT2S,!I /YR,GF+[
M?5U/BO*(Q!M%,AC1E"5DM=>>VJOH"+2C:;RGD*!\L6Y0 E1&@?%$R$+(K:ZU
M&21=4$E1^1B""5VR4NV#4T44S75N),H&.(YC6/99^_7;^NZ]W7:<,]AQ.\'U
M?2%SF!JMTSH0GN[6M&SSK 4/HLXIB 7\Y7AT6%022)6B&B5%KJJ$%*FD:#@8
M$9EDH$U7!T35)2T81^<R1"H/C$N-TJ=Y@M:&@115 4.6HP73.JPSA@@'8%(4
ME$A=N\H83CFO$&@7A0-MRS2N_T5[(>26S0;A2J \1;Z.!3Y-:#Y'U2%E>WLN
M^&(]JPB>/]$-1P,H9=*I5)[2>]OY;G^U&M^*):Q9JK*.8UN047W!=9PVFE-U
M:C%+5(4_RZJ!8DIO]//+_U1ZA+I!QX%7EI74#>4@O".P>AF1>&&AD+PD$157
M1"M;:TA;LU)";L#3-A'R"/0))2GCRV,N-ZX+@FO,3D7^1X#>8(?Q4!C],3:
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
M#;6*BE!$;+)DO>[/G9$II!7,J-@NN!8!ZT1SGI' E4KSP@K-^EFFYMQ*E9D
M-V$UP%B^U'(ZL^SXZH0UZ_57E6:]V6+_'0Y_>_/C;?>F]<M_?GW?[;R_'I_6
M_U=EB\6B*J(IUVZU:JA25JG HM>]3A>76GF]''1_QZ7;?W_1'C*>R&GVDU_&
MV&4B?CJ*56;/&O7<LK%,A6&W8L%&*N79><KU5&9G]:.+]N5%[WXF)]*R5J/:
M;-<N+]JU(=2N-(8BHVT]3>55;S3N7_>O.N/^X)8-KMEPU+^]Z@\[-^RZ?]O!
M3_P:7$.B-V)?:,WAN]'=N\[MF(T';/3NIL<:+5YI?'?,3UCGCG6Z@^&XUV7;
M4E]HX;O>E=MFJ]ZDK8Y?]]A=9W39N>W=50:_W?1^9YVK,8T@\LV=19^PSK?9
MQ.3GSYC8#]BEECQC-U7V1JD<HP$+A;8R7C([X_;L):UIO[GLKN1S923ER1F?
M&)4@><XW&JY^]DK*J95$Q/:L7JV?YO;HHE%MUZ!G6]FV6.-5;B^\1)_-^%PP
M+>92+)"E=B8-XUE6\ 0/<Z4M4QF[5CIEC7KE#5,Q>V?YC+T5D0PAX_/?EIE\
MSOR^G[W[O]=MS8/==LD-G 7/I$OV(5.+!&P$LG/>*]T6*9B:*<M"+,YE!J\N
M69%978 >+;<B12J1/SE+<0<$)BSF(1YIIE*PC55>[I% )D)A#-=+$DGY!X%U
MMW0:/(M@#)9,'-EA#1((I0Z+%&*@8P-+(N3Q8B;#&3,%_=O,7P@M2B6T@52:
M1/!(9E.VD':&#9I<A,Y TIO#-!5AFW-,<X5@RPU?*Q1:GP\%P6*9P=D4MXUS
M ^  XAC66^,RBY%BKBCB=Y@4$70B@%N>#!!\J9,ER^%_@@Y!*DDVV"C#8AXL
M#?A%S@<!210)!  (A:CY&NSL";F9L3A1"[-"BQ93::SF6(C30V\WK RV@FY6
MQFQ9^T?!-2R"H5\W KX[& 'C'7<=F3*Z90FAM%%Q+''K7-AGZ(M<L.!\.4D$
M.94)(&222#,C<1)+01E$&W0?21,FRA281V2B5>*CEFN%S@J/#3M&D"*!J/M(
M].[#&<^F@G60IZ,B@80K]J?'XL1-;9Q&_L[?2JKJF4<+Z6>4S%L@\J$D6PY>
M*-Y9*,9"M,^'T(($%:"SEP;)3LA;K6J+0GXH;O8K];JP6:\,;96'1R0,.B>X
MR]'LIV,94 4(>6$.GT)4/!%LO9(G=U6@42N0J7-I7/Y#2F1.#[4U&^;89A\M
M$NX"7;+[)EA!R4PT*,$BL 6>D1&WSM")D9'D6M(&I*]!C@\STE08J@LN+XPK
M(HXME!$PR,+/-"D';\BP2#AQ![;EC-C4%\SPU6J[R.+71) @> CS1?1<MCFW
MXMY6)/R6K6.X%R/_OWB;[,7;P9G]"':'<\+!Z -BYS(B4'&C,D[DQPT 22T)
M(8WK:!5UX%#RB4RD75))VK<LY8 #B(N]A^^.Z%9+XSCVOMQ07FBX&RZE$AJ&
M2D?. -?<3$6&RI@ @A@1.6&;1-"X>9@A!V0.FGOQLO8"" I+!(DY3PJ7UN1>
M$<=H*^0<CC%[VH-OOWG5;/QP;@ZA*7_[L&-8G3, &$P$Q1C?ETQ483]NP2%$
MRM?2@IJN^-/]*INLVCF7 Z4G8,^Y4_X/#'JTH@WOS\=QH7-+6>3=R-[@/X$L
MJ/2H,"PT>7^+Y_=H396Q>$XO':#+T(&S;"_9\4>FQ( 1TOB!=&DXVESACES9
M[AGWQ%LUXV9=%(D '.Q$Y)C1^:-DK24.5A]$4IZ_'L@'G^TB![4O 1CJ4?_N
M-OKTF6WTVFV?:*;=ZXLU=H--_A*=;.-GD\J$@">4Q4>-T-HTCF;(*FW6E<@]
M@,H4YW<K'-3V3)LHU#D:BR1L<PJ.@3#PDB'>PY7:L55:B#\*"=-="A19Z,YL
M)__D?ID.M=1)2(29S@ATV@BE0%S*"K+N6Q>"?Z"2X"NY*PJN!W&O4%8'W"=%
MNVPQ_0EM3[;S"!.-6"?[1Y%1=BZ8@A"CP0A\73(H2J9(X0#YIW";*4EV[ZN
MSR*"G8:V]?U7V\Y2^8DU,BM <(0C X37O9<J<1!X]I;97"5S012>\6GY>DV7
M_"'2/%%+@='%3'G2X#LH RJ^2'VKOOSKCB[\<,;><@WD-G\(&'TZ><GUGU]@
MK@>WX]6$";)$Z,I$6:O2LT9^S]SIDGU3=W]'%SOOEC_VOV9JC][F'S2Q72-C
MGO/AX>%RSU Q],<*X.AZC:B!+W->6XV^8>%2?M&J^2]P?P%02P,$%     @
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
M5N>U:Z/.$ZW4S"$:+]61NK;]"_ W4$L! A0#%     @ KH)[5O'U%L:TJ@$
MO>T/ !$              ( !     '5T;60M,C R,C$R,S$N:'1M4$L! A0#
M%     @ KH)[5AP>CN*X%0  T@X! !$              ( !XZH! '5T;60M
M,C R,C$R,S$N>'-D4$L! A0#%     @ KH)[5NO39AKT#P  IO$  !4
M         ( !RL ! '5T;60M,C R,C$R,S%?8V%L+GAM;%!+ 0(4 Q0    (
M *Z">U;;9F$*>Q@  %B> 0 5              "  ?'0 0!U=&UD+3(P,C(Q
M,C,Q7V1E9BYX;6Q02P$"% ,4    " "N@GM6H4VRE1M3  "V) 0 %0
M        @ &?Z0$ =71M9"TR,#(R,3(S,5]L86(N>&UL4$L! A0#%     @
MKH)[5GO>^)D"-@  Q?,# !4              ( ![3P" '5T;60M,C R,C$R
M,S%?<')E+GAM;%!+ 0(4 Q0    ( *Z">U:JUC.=)P4  ($B   /
M      "  2)S @!U=&UD7V5X,3!Z-2YH=&U02P$"% ,4    " "N@GM6.T32
M/,T"   *%   #0              @ %V> ( =71M9%]E>#(Q+FAT;5!+ 0(4
M Q0    ( *Z">U9"K/=W?@(  #$&   /              "  6Y[ @!U=&UD
M7V5X,C-Z,2YH=&U02P$"% ,4    " "N@GM6@QFNVL$"  #L!P  #P
M        @ $9?@( =71M9%]E>#(S>C(N:'1M4$L! A0#%     @ KH)[5NTZ
M:I[P!@  FQL   \              ( !!X$" '5T;61?97@S,7HQ+FAT;5!+
M 0(4 Q0    ( *Z">U;TN3G.]08  (D;   /              "  22( @!U
M=&UD7V5X,S%Z,BYH=&U02P$"% ,4    " "N@GM6+48O'50$   A#   #P
M            @ %&CP( =71M9%]E>#,R>C$N:'1M4$L! A0#%     @ KH)[
M5E)')PL[!   "@P   \              ( !QY," '5T;61?97@S,GHR+FAT
7;5!+!08     #@ . ' #   OF (    !

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